浏览代码

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

刘浩男 1 年之前
父节点
当前提交
f5ab35b1a5
共有 18 个文件被更改,包括 268 次插入75 次删除
  1. 1 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEnginSpecificationsController.java
  2. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java
  3. 10 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringInfrastructureController.java
  4. 23 0
      ruoyi-common/src/main/java/com/ruoyi/common/utils/GetBeanUtil.java
  5. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringInfrastructureVo.java
  6. 2 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringInfrastructureService.java
  7. 2 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java
  8. 7 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringReviewService.java
  9. 5 3
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZComprehensiveServiceImpl.java
  10. 42 10
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java
  11. 6 2
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringDangerousServiceImpl.java
  12. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfoServiceImpl.java
  13. 55 45
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfrastructureServiceImpl.java
  14. 13 2
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringMaterialServiceImpl.java
  15. 21 5
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java
  16. 5 5
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringPipeJackingServiceImpl.java
  17. 17 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringReviewServiceImpl.java
  18. 41 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/task/RiewTask.java

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEnginSpecificationsController.java

@@ -51,7 +51,7 @@ public class ZEnginSpecificationsController extends BaseController {
      * 材质规格下拉
      */
     @GetMapping("/getEnginSpecificationsList")
-    public R getEnginSpecifications(@RequestParam("materId") String materId) {
+    public R getEnginSpecifications(String materId) {
         return R.ok(iZEnginSpecificationsService.getEnginSpecifications(materId));
     }
     /**

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java

@@ -5,8 +5,11 @@ import java.util.Arrays;
 import java.util.concurrent.TimeUnit;
 
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringReviewBo;
+import com.ruoyi.zdsz.service.IZEngineeringReviewService;
 import lombok.RequiredArgsConstructor;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.*;
 
@@ -41,6 +44,8 @@ import com.ruoyi.common.core.page.TableDataInfo;
 public class ZEngineeringCivilController extends BaseController {
 
     private final IZEngineeringCivilService iZEngineeringCivilService;
+    @Resource
+    private IZEngineeringReviewService izEngineeringReviewService;
 
     /**
      * 查询民用工程列表
@@ -155,5 +160,16 @@ public class ZEngineeringCivilController extends BaseController {
         return R.ok(iZEngineeringCivilService.batchReview(bo,zEngineeringNodeBo));
     }
 
+    /**
+     * 批量审核
+     * @param bo
+     * @return
+     */
+    @Log(title = "民用工程", businessType = BusinessType.OTHER)
+    @PostMapping("/Review")
+    public R Review( @RequestBody ZEngineeringReviewBo zEngineeringReviewBo) {
+        return R.ok(izEngineeringReviewService.insert(zEngineeringReviewBo));
+    }
+
 
 }

+ 10 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringInfrastructureController.java

@@ -110,6 +110,16 @@ public class ZEngineeringInfrastructureController extends BaseController {
     public R<Void> add(@Validated(AddGroup.class) @RequestBody ZEngineeringInfrastructureBo bo) {
         return toAjax(iZEngineeringInfrastructureService.insertByBo(bo));
     }
+    /**
+     * 新增基建工程App
+     */
+    @SaCheckPermission("zdsz:engineeringInfrastructure:add")
+    @Log(title = "基建工程", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping("/AddApp")
+    public R<Void> addApp(@Validated(AddGroup.class) @RequestBody ZEngineeringInfrastructureBo bo) {
+        return toAjax(iZEngineeringInfrastructureService.insertByBoApp(bo));
+    }
 
     /**
      * 基建工程审核

+ 23 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/GetBeanUtil.java

@@ -0,0 +1,23 @@
+package com.ruoyi.common.utils;
+
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+@Component
+public class GetBeanUtil implements ApplicationContextAware {
+    private static ApplicationContext applicationContext;
+
+    public void setApplicationContext(ApplicationContext context) {
+        GetBeanUtil.applicationContext = context;
+    }
+
+    public static Object getBean(String name) {
+        return applicationContext.getBean(name);
+    }
+
+    public static ApplicationContext getApplicationContext() {
+        return applicationContext;
+    }
+}
+

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

@@ -82,6 +82,7 @@ public class ZEngineeringInfrastructureVo extends BaseEntity implements Serializ
     @ExcelProperty(value = "备注")
     private String remark;
 
+    @JsonProperty("zEngineeringNodeBoList")
     private List<ZEngineeringNodeBo> zEngineeringNodeBoList;
 
     public List<ZEngineeringNodeBo> getzEngineeringNodeBoList() {

+ 2 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringInfrastructureService.java

@@ -48,6 +48,8 @@ public interface IZEngineeringInfrastructureService {
      */
     Boolean insertByBo(ZEngineeringInfrastructureBo bo);
 
+    Boolean insertByBoApp(ZEngineeringInfrastructureBo bo);
+
     /**
      * 新增基建工程审核
      */

+ 2 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java

@@ -72,6 +72,7 @@ public interface IZEngineeringNodeService {
      * @return
      */
     Boolean update(ZEngineeringNodeBo bo);
+    Boolean updateMuch(ZEngineeringNodeBo bo);
     Boolean delete(ZEngineeringNodeBo bo);
 
     /**
@@ -86,5 +87,5 @@ public interface IZEngineeringNodeService {
      * @param zEngineeringCivilList
      * @return
      */
-     int batchReview(List<ZEngineeringCivil> zEngineeringCivilList,ZEngineeringNodeBo zEngineeringNodeBo);
+     int batchReview(List<ZEngineeringCivil> zEngineeringCivilList,ZEngineeringNodeBo zEngineeringNodeBo,String userId);
 }

+ 7 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringReviewService.java

@@ -44,6 +44,13 @@ public interface IZEngineeringReviewService {
     Boolean insert(ZEngineeringReviewBo bo);
 
     /**
+     * 批量插入
+     * @param bo
+     * @return
+     */
+    Boolean Bacthinsert(ZEngineeringReview bo);
+
+    /**
      * 批量审核
      * @param bo
      * @return

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

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

+ 42 - 10
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java

@@ -8,19 +8,16 @@ 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.ZArea;
-import com.ruoyi.zdsz.domain.bo.ZAreaBo;
 import com.ruoyi.zdsz.domain.bo.ZBuildingBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
 import com.ruoyi.zdsz.domain.vo.*;
 import com.ruoyi.zdsz.mapper.ZAreaMapper;
 import com.ruoyi.zdsz.service.IZEngineeringNodeService;
-import com.ruoyi.zdsz.service.IZEngineeringReviewService;
 import com.ruoyi.zdsz.service.IZMaterialStatisticsService;
+import com.ruoyi.zdsz.task.RiewTask;
 import lombok.RequiredArgsConstructor;
-import lombok.Value;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Service;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
 import com.ruoyi.zdsz.domain.ZEngineeringCivil;
@@ -30,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
@@ -336,16 +334,50 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZEngineeringCivil::getEnginCycle, bo.getEnginCycle());
         lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
         lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
-        List<ZEngineeringCivil> zEngineeringCivilList=baseMapper.selectList(lqw);
-
-        if (zEngineeringCivilList.size()>0)
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
+        lqw.like(StringUtils.isNotBlank(bo.getCreateTime().toString()), ZEngineeringCivil::getCreateTime, "%"+dateFormat.format(bo.getCreateTime())+"%");
+          Long sumcount=baseMapper.selectCount(lqw);
+//        List<ZEngineeringCivil> zEngineeringCivilList=baseMapper.selectList(lqw);
+        /**
+         * 线程执行插入量
+         */
+        int count=5000;
+        List <ZEngineeringCivil>  newList = new ArrayList() ;
+        if (sumcount>0)
         {
-            ScheduledThreadPoolExecutor threadPoolTaskExecutor=new ScheduledThreadPoolExecutor((zEngineeringCivilList.size()/50)+1);
-            CountDownLatch countDownLatch = new CountDownLatch((zEngineeringCivilList.size()/50)+1);
+            //线程数量(根据查询总数量进行分配线程数量)
+            int runSize= (int) (sumcount/count+1);
+            ScheduledThreadPoolExecutor threadPoolTaskExecutor=new ScheduledThreadPoolExecutor(runSize);
+            CountDownLatch countDownLatch = new CountDownLatch(runSize);
+            for(int i=0;i<runSize;i++)
+            {
+                Page page=new Page<>(i,count);
+                Page<ZEngineeringCivil> zEngineeringCivilPage=baseMapper.selectPage(page,lqw);
+//                if((i+1)==runSize){
+//                    int startIndex = (i*count);;
+//                    int endIndex = zEngineeringCivilList.size();
+//                    newList =zEngineeringCivilList.subList(startIndex,endIndex);
+//                }else{
+//                    int startIndex = i*count;;
+//                    int endIndex = (i+1)*count;
+//                    newList =zEngineeringCivilList.subList(startIndex,endIndex);
+//                }
 
-            izEngineeringNodeService.batchReview(zEngineeringCivilList,zEngineeringNodeBo);
+                threadPoolTaskExecutor.execute(new RiewTask(zEngineeringCivilPage.getRecords(),zEngineeringNodeBo,countDownLatch));
+            }
+            threadPoolTaskExecutor.shutdown();
+//            try {
+//                countDownLatch.await();
+//                threadPoolTaskExecutor.shutdown();
+//            } catch (InterruptedException e) {
+//                throw new RuntimeException(e);
+//            }
+//
         }
 
         return 0;
     }
+
 }
+
+

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

@@ -288,7 +288,8 @@ public class ZEngineeringDangerousServiceImpl implements IZEngineeringDangerousS
                     newPhoto.setPicUrl(pic.getPicUrl());
                     newPhoto.setFileName(pic.getFileName());
                     newPhoto.setCreateBy(String.valueOf(LoginHelper.getUserId()));
-                    newPhoto.setCreateTime(new Date());
+                    newPhoto.setCreateTime(bo.getCreateTime());
+                    newPhoto.setUpdateTime(new Date());
                     list.add(newPhoto);
                 }
             }
@@ -299,7 +300,10 @@ public class ZEngineeringDangerousServiceImpl implements IZEngineeringDangerousS
                 .collect(Collectors.toList());
             if (!photosToDelete.isEmpty()) {
                 photosToDelete.forEach(item -> {
-                    photoService.deleteWithValidByurls(item);
+                    ZEngiineeringPhoto zEngiineeringPhoto=new ZEngiineeringPhoto();
+                    zEngiineeringPhoto.setPicUrl(item);
+                    zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                    photoService.deleteWithValid(zEngiineeringPhoto);
                 });
             }
 

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfoServiceImpl.java

@@ -80,6 +80,7 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
             List<ZEngineeringMaterialBo> zEngineeringMaterialBo = izEngineeringMaterialService.query(zEngineeringInfoBo1);
             zEngineeringInfoBo1.setzEngiineeringPhotoBoList(photoList);
             zEngineeringInfoBo1.setzEngineeringMaterialBo(zEngineeringMaterialBo);
+            bo.setId(item.getId());
             ZEngineeringReviewBo zEngineeringReviewbo = izEngineeringReviewService.query(bo);
             zEngineeringInfoBo1.setzEngineeringReviewBo(zEngineeringReviewbo);
             zEngineeringInfoBoList.add(zEngineeringInfoBo1);

+ 55 - 45
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfrastructureServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ruoyi.zdsz.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.ruoyi.common.helper.LoginHelper;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.core.page.TableDataInfo;
@@ -58,24 +59,11 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
         zEngineeringNodeBo.setCreateTime(vo.getCreateTime());
         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();
-//                if(node.getType().equals("construction_entrance")){
-                if(type.equals("construction_hydroelectricity") || type.equals("construction_waterproof")){ // 水电施工、防水
-                    ZEngineeringReviewBo reviewBo = izEngineeringReviewService.query(node);
-                    boolean review = (reviewBo!=null) && (reviewBo.getReviewStatus().equals("1"));
-                    node.setReviewStatus(review?"1":"0"); // 通过-1 未通过、未审核-0 无需审核-null
-                }
-            } // else null
-        }
         return vo;
     }
 
@@ -90,18 +78,6 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
         zEngineeringNodeBo.setCivliId(vo.getId());
         zEngineeringNodeBo.setType(type);
         ZEngineeringNodeBo node = izEngineeringNodeService.query(zEngineeringNodeBo);
-        if(node != null){
-//            for (ZEngineeringNodeBo node : nodeList) {
-            String type1 = node.getType();
-//                if(node.getType().equals("construction_entrance")){
-            if(type1.equals("construction_hydroelectricity") || type1.equals("construction_waterproof")){ // 水电施工、防水
-                ZEngineeringReviewBo reviewBo = izEngineeringReviewService.query(node);
-                boolean review = (reviewBo!=null) && (reviewBo.getReviewStatus().equals("1"));
-                node.setReviewStatus(review?"1":"0"); // 通过-1 未通过、未审核-0 无需审核-null
-            }
-//            } // else null
-        }
-
         vo.setzEngineeringNodeBo(node);
         return vo;
     }
@@ -113,7 +89,7 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
     public List<ZEngineeringInfrastructureSelectVo> select(ZEngineeringInfrastructureBo bo) {
         LambdaQueryWrapper<ZEngineeringInfrastructure> lqw = buildQueryWrapper(bo);
         List<ZEngineeringInfrastructureVo> result = baseMapper.selectVoList(lqw);
-        List<ZEngineeringInfrastructureSelectVo> list = new ArrayList();
+        List<ZEngineeringInfrastructureSelectVo> list = new ArrayList<>();
         for (ZEngineeringInfrastructureVo vo: result) {
             ZEngineeringInfrastructureSelectVo select = BeanUtil.toBean(vo, ZEngineeringInfrastructureSelectVo.class);
             list.add(select);
@@ -164,7 +140,7 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
         boolean flag = baseMapper.insert(add) > 0;
         if (flag) {
             List<ZEngineeringNodeBo> nodeBoList = bo.getzEngineeringNodeBoList();
-            if(nodeBoList != null && nodeBoList.size() != 0){
+            if(nodeBoList != null && !nodeBoList.isEmpty()){
                 for (ZEngineeringNodeBo nodeBo:nodeBoList) {
                     bo.setId(add.getId());
                     ZEngineeringNodeBo zEngineeringNodeBo = nodeBo;
@@ -173,7 +149,6 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
                     izEngineeringNodeService.insert(zEngineeringNodeBo);
                 }
             }else {
-
                 bo.setId(add.getId());
                 ZEngineeringNodeBo zEngineeringNodeBo = bo.getzEngineeringNodeBo();
                 zEngineeringNodeBo.setCivliId(add.getId());
@@ -193,9 +168,9 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
                     pic.setParentId(bo.getId());
                     pic.setPicUrl(o.getUrl());
                     pic.setFileName(o.getName());
-                    pic.setCreateBy(String.valueOf(LoginHelper.getUserId()));
+                    pic.setCreateBy(String.valueOf(LoginHelper.getUsername()));
                     pic.setCreateTime(new Date());
-                    pic.setUpdateBy(String.valueOf(LoginHelper.getUserId()));
+                    pic.setUpdateBy(String.valueOf(LoginHelper.getUsername()));
                     pic.setUpdateTime(new Date());
                     list.add(pic);
                 });
@@ -206,6 +181,32 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
         }
         return flag;
     }
+
+    /**
+     * 新增基建工程App
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean insertByBoApp(ZEngineeringInfrastructureBo bo) {
+        ZEngineeringInfrastructure add = BeanUtil.toBean(bo, ZEngineeringInfrastructure.class);
+        validEntityBeforeSave(add);
+        LambdaQueryWrapper<ZEngineeringInfrastructure> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngineeringInfrastructure::getId, bo.getId());
+        ZEngineeringInfrastructureVo infrastructureVo = baseMapper.selectVoOne(lqw);
+        boolean flag = false;
+        ZEngineeringNodeBo zEngineeringNodeBo = bo.getzEngineeringNodeBo();
+        zEngineeringNodeBo.setCivliId(infrastructureVo.getId());
+        zEngineeringNodeBo.setType(zEngineeringNodeBo.getType());
+        zEngineeringNodeBo.setCreateTime(infrastructureVo.getCreateTime());
+        ZEngineeringNodeBo query = izEngineeringNodeService.query(zEngineeringNodeBo);
+        if (!ObjectUtils.isEmpty(query)) {
+            zEngineeringNodeBo.setId(query.getId());
+        }
+        izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
+        flag = true;
+
+        return flag;
+    }
     private void doPhotos(ZEngineeringInfrastructure update, ZEngineeringInfrastructureBo bo) {
         List<ZEngiineeringPhoto> list = new ArrayList<>();
 
@@ -224,8 +225,8 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
                 newPhoto.setParentId(bo.getId());
                 newPhoto.setPicUrl(pic.getUrl());
                 newPhoto.setFileName(pic.getName());
-                newPhoto.setCreateBy(String.valueOf(LoginHelper.getUserId()));
-                newPhoto.setUpdateBy(String.valueOf(LoginHelper.getUserId()));
+                newPhoto.setCreateBy(String.valueOf(LoginHelper.getUsername()));
+                newPhoto.setUpdateBy(String.valueOf(LoginHelper.getUsername()));
                 newPhoto.setCreateTime(bo.getCreateTime());
                 newPhoto.setUpdateTime(new Date());
                 list.add(newPhoto);
@@ -275,20 +276,30 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
     public Boolean updateByBo(ZEngineeringInfrastructureBo bo) {
         ZEngineeringInfrastructure update = BeanUtil.toBean(bo, ZEngineeringInfrastructure.class);
         validEntityBeforeSave(update);
-        boolean flag = baseMapper.updateById(update) > 0;
-        if (flag) {
-            ZEngineeringInfrastructureVo vo = baseMapper.selectVoById(update.getId());
-            //文件
-            this.doPhotos(update,bo);
+        int i = baseMapper.updateById(update);
+        if (i>0){
+            ZEngineeringInfrastructureVo jackingVo = baseMapper.selectVoById(update.getId());
             ZEngineeringNodeBo zEngineeringNodeBo = bo.getzEngineeringNodeBo();
             if (!ObjectUtils.isEmpty(zEngineeringNodeBo)){
-                zEngineeringNodeBo.setCivliId(vo.getId());
-                zEngineeringNodeBo.setCreateTime(vo.getCreateTime());
-                izEngineeringNodeService.update(zEngineeringNodeBo);
+                //多info
+                if (zEngineeringNodeBo.getzEngineeringInfoBoList()!=null&&!zEngineeringNodeBo.getzEngineeringInfoBoList().isEmpty()){
+                    List<ZEngineeringInfoBo> engineeringInfoBoList = zEngineeringNodeBo.getzEngineeringInfoBoList();
+                    if (engineeringInfoBoList != null && !engineeringInfoBoList.isEmpty()) {
+                        izEngineeringNodeService.updateMuch(zEngineeringNodeBo);
+                    }
+                }
+                //单info
+                if (!ObjectUtil.isEmpty(zEngineeringNodeBo.getzEngineeringInfoBo())) {
+                    zEngineeringNodeBo.setCivliId(jackingVo.getId());
+                    zEngineeringNodeBo.setCreateTime(jackingVo.getCreateTime());
+                    izEngineeringNodeService.update(zEngineeringNodeBo);
+                }
             }
+            if (bo.getFiles()!=null&&!bo.getFiles().isEmpty()) {
+                this.doPhotos(update,bo);
             }
-//        }
-        return flag;
+        }
+        return i>0;
     }
 
     /**
@@ -309,13 +320,12 @@ public class ZEngineeringInfrastructureServiceImpl implements IZEngineeringInfra
         }
         ids.forEach(item -> {
             ZEngineeringInfrastructureVo vo = baseMapper.selectVoById(item);
-            if(vo==null)
-            {return;}
+            if(vo==null){return;}
             ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
             zEngineeringNodeBo.setCreateTime(vo.getCreateTime());
             zEngineeringNodeBo.setCivliId(vo.getId());
             List<ZEngineeringNodeBo> zEngineeringNodeBos = izEngineeringNodeService.queryListDetails(zEngineeringNodeBo);
-            zEngineeringNodeBos.forEach(ite -> izEngineeringNodeService.delete(ite));
+            zEngineeringNodeBos.forEach(izEngineeringNodeService::delete);
         }); return baseMapper.deleteBatchIds(ids) > 0;
     }
 }

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

@@ -62,9 +62,20 @@ public class ZEngineeringMaterialServiceImpl implements IZEngineeringMaterialSer
         zEngineeringMaterialVo.stream().forEach(item -> {
             ZEngineeringMaterialBo zEngineeringMaterialBo = BeanUtil.toBean(item, ZEngineeringMaterialBo.class);
             if (StringUtils.isNotEmpty(zEngineeringMaterialBo.getMaterialQuality()))
-                zEngineeringMaterialBo.setMaterialQualityName(izEnginMaterialQualityService.queryById(zEngineeringMaterialBo.getMaterialQuality()).getName());
+                zEngineeringMaterialBo.setMaterialQualityName(
+                    izEnginMaterialQualityService.queryById(zEngineeringMaterialBo.getMaterialQuality())!=null
+                        ?
+                        izEnginMaterialQualityService.queryById(zEngineeringMaterialBo.getMaterialQuality()).getName()
+                        :
+                        zEngineeringMaterialBo.getMaterialQuality());
             if (StringUtils.isNotEmpty(zEngineeringMaterialBo.getSpecifications()))
-                zEngineeringMaterialBo.setSpecificationsName(izEnginSpecificationsService.queryById(zEngineeringMaterialBo.getSpecifications()).getName());
+                zEngineeringMaterialBo.setSpecificationsName(
+                    izEnginSpecificationsService.queryById(zEngineeringMaterialBo.getSpecifications())!=null
+                        ?
+                        izEnginSpecificationsService.queryById(zEngineeringMaterialBo.getSpecifications()).getName()
+                        :
+                        zEngineeringMaterialBo.getSpecifications()
+                );
             zEngineeringMaterialBoList.add(zEngineeringMaterialBo);
         });
 

+ 21 - 5
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java

@@ -12,6 +12,7 @@ import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.framework.handler.MonthTableNameHandler;
 import com.ruoyi.zdsz.domain.ZEngineeringCivil;
 import com.ruoyi.zdsz.domain.ZEngineeringNode;
+import com.ruoyi.zdsz.domain.ZEngineeringReview;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringInfoBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringReviewBo;
@@ -150,8 +151,9 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     }
 
     @Override
-    public int batchReview(List<ZEngineeringCivil> zEngineeringCivilList,ZEngineeringNodeBo bo) {
-        zEngineeringCivilList.stream().forEach(item->{
+    @Async
+    public int batchReview(List<ZEngineeringCivil> zEngineeringCivilList,ZEngineeringNodeBo bo,String userId) {
+        zEngineeringCivilList.forEach(item->{
             SimpleDateFormat format = new SimpleDateFormat("yyyy_MM");
             LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId,item.getId());
@@ -159,14 +161,17 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
             format.format(item.getCreateTime());
             MonthTableNameHandler.setData(format.format(item.getCreateTime()));
            ZEngineeringNode zEngineeringNode=baseMapper.selectOne(lqw);
-            ZEngineeringReviewBo zEngineeringReview =new ZEngineeringReviewBo();
+           if (null!=zEngineeringNode)
+           {
+            ZEngineeringReview zEngineeringReview =new ZEngineeringReview();
             zEngineeringReview.setReviewTime( new Date());
             zEngineeringReview.setReviewContent("批量审核");
             zEngineeringReview.setReviewStatus("1");
-            zEngineeringReview.setReviewUser(LoginHelper.getLoginUser().getUserId().toString());
+            zEngineeringReview.setReviewUser(userId);
             zEngineeringReview.setCreateTime(item.getCreateTime());
             zEngineeringReview.setEngInfoId(zEngineeringNode.getId());
-            izEngineeringReviewService.insert(zEngineeringReview);
+            izEngineeringReviewService.Bacthinsert(zEngineeringReview);
+           }
             MonthTableNameHandler.removeData();
         });
         return 0;
@@ -272,6 +277,17 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         izEngineeringInfoService.update(bo.getzEngineeringInfoBo());
         return baseMapper.updateById(update) > 0;
     }
+    @Override
+    @DynamicName(spel = "#bo.createTime")
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updateMuch(ZEngineeringNodeBo bo) {
+        ZEngineeringNode update = BeanUtil.toBean(bo, ZEngineeringNode.class);
+        bo.getzEngineeringInfoBoList().stream().forEach(item->{
+            item.setCreateTime(bo.getCreateTime());
+            izEngineeringInfoService.update(item);
+        });
+        return baseMapper.updateById(update) > 0;
+    }
 
     @Override
     @DynamicName(spel = "#bo.createTime")

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

@@ -165,9 +165,9 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
                         pic.setParentId(bo.getId());
                         pic.setPicUrl(o.getUrl());
                         pic.setFileName(o.getName());
-                        pic.setCreateBy(String.valueOf(LoginHelper.getUserId()));
+                        pic.setCreateBy(String.valueOf(LoginHelper.getUsername()));
                         pic.setCreateTime(new Date());
-                        pic.setUpdateBy(String.valueOf(LoginHelper.getUserId()));
+                        pic.setUpdateBy(String.valueOf(LoginHelper.getUsername()));
                         pic.setUpdateTime(new Date());
                         list.add(pic);
                     });
@@ -273,7 +273,7 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
             nodeService.update(zEngineeringNodeBo);
         }
         int i = baseMapper.updateById(update);
-        if (i>0){
+        if (bo.getFiles()!=null&&!bo.getFiles().isEmpty()) {
             this.doPhotos(update,bo);
         }
         return i>0;
@@ -298,8 +298,8 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
                 newPhoto.setParentId(bo.getId());
                 newPhoto.setPicUrl(pic.getUrl());
                 newPhoto.setFileName(pic.getName());
-                newPhoto.setCreateBy(String.valueOf(LoginHelper.getUserId()));
-                newPhoto.setUpdateBy(String.valueOf(LoginHelper.getUserId()));
+                newPhoto.setCreateBy(String.valueOf(LoginHelper.getUsername()));
+                newPhoto.setUpdateBy(String.valueOf(LoginHelper.getUsername()));
                 newPhoto.setCreateTime(bo.getCreateTime());
                 newPhoto.setUpdateTime(new Date());
                 list.add(newPhoto);

+ 17 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringReviewServiceImpl.java

@@ -123,7 +123,7 @@ public class ZEngineeringReviewServiceImpl implements IZEngineeringReviewService
         bo.setReviewUser(String.valueOf(LoginHelper.getLoginUser().getUserId()));
         ZEngineeringReview add = BeanUtil.toBean(bo, ZEngineeringReview.class);
         validEntityBeforeSave(add);
-        boolean flag = baseMapper.insert(add) > 0;
+        boolean flag = baseMapper.insert(add)> 0;
         if (flag) {
             bo.setId(add.getId());
         }
@@ -131,6 +131,22 @@ public class ZEngineeringReviewServiceImpl implements IZEngineeringReviewService
     }
 
     @Override
+    @DynamicName(spel = "#bo.createTime")
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean Bacthinsert(ZEngineeringReview bo) {
+        LambdaQueryWrapper<ZEngineeringReview> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getEngInfoId()), ZEngineeringReview::getEngInfoId, bo.getEngInfoId());
+           boolean flag =false;
+        if (!baseMapper.exists(lqw))
+            {
+                flag=  baseMapper.insert(bo)> 0;
+            }
+
+
+        return flag;
+    }
+
+    @Override
     public Boolean insertBacth(List<ZEngineeringReviewBo> bo) {
         bo.stream().forEach(item->{
             LambdaQueryWrapper<ZEngineeringReview> lqw = Wrappers.lambdaQuery();

+ 41 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/task/RiewTask.java

@@ -0,0 +1,41 @@
+package com.ruoyi.zdsz.task;
+
+import com.ruoyi.common.helper.LoginHelper;
+import com.ruoyi.common.utils.GetBeanUtil;
+import com.ruoyi.zdsz.domain.ZEngineeringCivil;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
+import com.ruoyi.zdsz.service.IZEngineeringNodeService;
+import org.springframework.context.ApplicationContext;
+
+
+import javax.annotation.Resource;
+import java.beans.beancontext.BeanContext;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+
+public class RiewTask  implements  Runnable{
+
+    private IZEngineeringNodeService izEngineeringNodeService;
+    private List<ZEngineeringCivil> zEngineeringCivilList;
+    private ZEngineeringNodeBo zEngineeringNodeBo;
+    private  String userId;
+    private   CountDownLatch countDownLatch;
+
+    public  RiewTask(List<ZEngineeringCivil> zEngineeringCivilList, ZEngineeringNodeBo zEngineeringNodeBo, CountDownLatch countDownLatch)
+    {
+        this.zEngineeringCivilList=zEngineeringCivilList;
+        this.zEngineeringNodeBo=zEngineeringNodeBo;
+        this.izEngineeringNodeService= GetBeanUtil.getApplicationContext().getBean(IZEngineeringNodeService.class);
+        this.userId= LoginHelper.getLoginUser().getUserId().toString();
+        this.countDownLatch=countDownLatch;
+    }
+    @Override
+    public void run() {
+        if (zEngineeringCivilList.size()>0)
+        {
+            izEngineeringNodeService.batchReview(zEngineeringCivilList,zEngineeringNodeBo,userId);
+        }
+        countDownLatch.countDown();//发出线程任务完成的信号
+
+    }
+}