Bladeren bron

Merge remote-tracking branch 'origin/zdsz3.0' into zdsz3.0

刘浩男 1 jaar geleden
bovenliggende
commit
f2f75fda31

+ 12 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringPipeJackingBo.java

@@ -9,6 +9,8 @@ import lombok.EqualsAndHashCode;
 import javax.validation.constraints.*;
 
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 import com.ruoyi.common.core.domain.BaseEntity;
 
@@ -87,6 +89,16 @@ public class ZEngineeringPipeJackingBo extends BaseEntity {
 
     private ZEngineeringNodeBo zEngineeringNodeBo;
 
+    public List<ZFileBo> getFiles() {
+        return files;
+    }
+
+    public void setFiles(List<ZFileBo> files) {
+        this.files = files;
+    }
+
+    private List<ZFileBo> files;
+
     public ZEngineeringNodeBo getzEngineeringNodeBo() {
         return zEngineeringNodeBo;
     }

+ 24 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZFileBo.java

@@ -0,0 +1,24 @@
+package com.ruoyi.zdsz.domain.bo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+
+
+@Data
+public class ZFileBo {
+
+    /**
+     *
+     */
+    private String name;
+
+    private String url;
+
+}

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringPipeJackingVo.java

@@ -81,5 +81,6 @@ public class ZEngineeringPipeJackingVo extends BaseEntity implements Serializabl
     private String remark;
 
     private List<ZEngineeringNodeBo> zEngineeringNodeBoList;
+    private List<ZEngiineeringPhotoVo> pics;
 
 }

+ 1 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringPipeJackingMapper.java

@@ -19,5 +19,5 @@ public interface ZEngineeringPipeJackingMapper extends BaseMapperPlus<ZEngineeri
     List<Map<String,Object>> getDangerous(String enginId);
     List<Map<String,Object>> getInfrastructure(String enginId);
 
-    List<Map<String, Object>> getSg(String enginId,String type);
+    List<Map<String, Object>> getSg(String enginId);
 }

+ 2 - 2
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZComprehensiveServiceImpl.java

@@ -112,8 +112,8 @@ public class ZComprehensiveServiceImpl implements IZComprehensiveService {
                 ZEngiineeringPhoto pic = new ZEngiineeringPhoto();
                 pic.setParentId(bo.getId());
                 pic.setPicUrl(o);
-                pic.setUpdateBy(String.valueOf(LoginHelper.getUserId()));
-                pic.setUpdateTime(new Date());
+                pic.setCreateBy(String.valueOf(LoginHelper.getUserId()));
+                pic.setCreateTime(new Date());
                 list.add(pic);
             });
             if (!list.isEmpty()) {

+ 3 - 3
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngiineeringPhotoServiceImpl.java

@@ -112,7 +112,7 @@ public class ZEngiineeringPhotoServiceImpl implements IZEngiineeringPhotoService
     @Override
     @Transactional(rollbackFor=Exception.class)
     @DynamicName(spel = "#bo[0].createTime")
-    @Async("threadPoolTaskExecutor")
+//    @Async("threadPoolTaskExecutor")
     public Boolean insertBatch(List<ZEngiineeringPhoto> bo) {
         boolean flag = baseMapper.insertBatch(bo);
         return flag;
@@ -131,7 +131,7 @@ public class ZEngiineeringPhotoServiceImpl implements IZEngiineeringPhotoService
     @Override
     @DynamicName(spel = "#bo[0].createTime")
     @Transactional(rollbackFor = Exception.class)
-    @Async("threadPoolTaskExecutor")
+//    @Async("threadPoolTaskExecutor")
     public Boolean updateBatch(List<ZEngiineeringPhoto> bo) {
         ZEngiineeringPhoto zEngiineeringPhoto = bo.get(0);
         LambdaQueryWrapper<ZEngiineeringPhoto> lqw = Wrappers.lambdaQuery();
@@ -182,7 +182,7 @@ public class ZEngiineeringPhotoServiceImpl implements IZEngiineeringPhotoService
     @Override
     @DynamicName(spel = "#bo.createTime")
     @Transactional(rollbackFor = Exception.class)
-    @Async("threadPoolTaskExecutor")
+//    @Async("threadPoolTaskExecutor")
     public Boolean delete(ZEngineeringInfoBo bo) {
         LambdaQueryWrapper<ZEngiineeringPhoto> lqw = Wrappers.lambdaQuery();
         lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngiineeringPhoto::getParentId, bo.getId());

+ 79 - 11
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringPipeJackingServiceImpl.java

@@ -4,16 +4,22 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.common.annotation.DynamicName;
+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.ZEngineeringNode;
+import com.ruoyi.zdsz.domain.bo.ZEngiineeringPhotoBo;
 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.ZEngineeringNodeVo;
+import com.ruoyi.zdsz.service.IZEngiineeringPhotoService;
 import com.ruoyi.zdsz.service.IZEngineeringNodeService;
 import lombok.RequiredArgsConstructor;
 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.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业务层处理
@@ -45,6 +49,8 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
 
     @Autowired
     private IZEngineeringNodeService nodeService;
+    @Autowired
+    private IZEngiineeringPhotoService photoService;
 
     /**
      * 查询顶管工程
@@ -52,6 +58,10 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
     @Override
     public ZEngineeringPipeJackingVo queryById(String 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();
         bo.setCreateTime(jackingVo.getCreateTime());
         bo.setCivliId(jackingVo.getId());
@@ -64,6 +74,10 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
     @Override
     public ZEngineeringPipeJackingVo queryByIdType(String id,String type){
         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();
         bo.setCreateTime(jackingVo.getCreateTime());
         bo.setCivliId(jackingVo.getId());
@@ -122,14 +136,14 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
         }
         //市政
         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()){
                 add.setEnginAddre((String) civil.get(0).get("name"));
             }
         }
         //工业
         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()){
                 add.setEnginAddre((String) civil.get(0).get("name"));
             }
@@ -162,10 +176,25 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
                 bo.setId(add.getId());
                 bo.getzEngineeringNodeBo().setCivliId(add.getId());
                 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 {
-            //存在工程
+            //存在这个类型工程
             ZEngineeringNodeBo zEngineeringNodeBo = bo.getzEngineeringNodeBo();
             zEngineeringNodeBo.setCivliId(jackingVo.getId());
             zEngineeringNodeBo.setType(zEngineeringNodeBo.getType());
@@ -197,14 +226,14 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
         }
         //市政
         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()){
                 update.setEnginAddre((String) civil.get(0).get("name"));
             }
         }
         //工业
         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()){
                 update.setEnginAddre((String) civil.get(0).get("name"));
             }
@@ -228,7 +257,46 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
         bo.getzEngineeringNodeBo().setCivliId(bo.getId());
         bo.getzEngineeringNodeBo().setCreateTime(bo.getCreateTime());
         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;
     }
 
     /**

+ 1 - 1
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringPipeJackingMapper.xml

@@ -73,7 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         FROM
             z_engineering_industry as m
         WHERE
-            m.del_flag = '0'  and m.id = #{enginId} and m.type = #{type}
+            m.del_flag = '0'  and m.id = #{enginId}
     </select>
 
 </mapper>