Sfoglia il codice sorgente

审核添加状态

wangtong 1 anno fa
parent
commit
3b9fb28745
18 ha cambiato i file con 275 aggiunte e 68 eliminazioni
  1. 1 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringMaterial.java
  2. 1 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZMaterialStatistics.java
  3. 4 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringCivilBo.java
  4. 7 7
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringInfoBo.java
  5. 2 2
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringMaterialBo.java
  6. 8 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZMaterialStatisticsBo.java
  7. 13 7
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/MaterialStatisticsListVo.java
  8. 14 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringCivilVo.java
  9. 2 2
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringMaterialVo.java
  10. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringCivilMapper.java
  11. 3 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java
  12. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngiineeringPhotoServiceImpl.java
  13. 30 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java
  14. 73 37
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfoServiceImpl.java
  15. 68 2
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java
  16. 2 2
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZMaterialStatisticsServiceImpl.java
  17. 20 0
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml
  18. 25 5
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZMaterialStatisticsMapper.xml

+ 1 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringMaterial.java

@@ -59,7 +59,7 @@ public class ZEngineeringMaterial extends BaseEntity {
     /**
      * 数量
      */
-    private Long number;
+    private Double number;
     /**
      * 乐观锁
      */

+ 1 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZMaterialStatistics.java

@@ -54,7 +54,7 @@ public class ZMaterialStatistics extends BaseEntity {
     /**
      * 预估尺寸
      */
-    private Long realitySize;
+    private Double realitySize;
     /**
      * 工程周期
      */

+ 4 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringCivilBo.java

@@ -32,6 +32,10 @@ public class  ZEngineeringCivilBo extends BaseEntity {
      * 行政区
      */
     private String district;
+    /**
+     * 节点类型
+     */
+    private String type;
 
     /**
      * 小区id

+ 7 - 7
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringInfoBo.java

@@ -107,25 +107,25 @@ public class ZEngineeringInfoBo extends BaseEntity {
      */
     @Valid
     @NotNull(message = "照片不能为空", groups = { AddGroup.class, EditGroup.class })
-    private List<String> zEngiineeringPhotoBoList;
+    public List<String> zEngiineeringPhotoBoList;
     @Valid
     @NotNull(message = "管上皮深度测量照片不能为空", groups = { AddGroup.class, EditGroup.class })
-    private List<String> ductalEpithelium;
+    public List<String> ductalEpithelium;
     @Valid
     @NotNull(message = "管沟远景照片不能为空", groups = { AddGroup.class, EditGroup.class })
-    private List<String> trenchProspect;
+    public List<String> trenchProspect;
     @Valid
     @NotNull(message = "石粉回填不能为空", groups = { AddGroup.class, EditGroup.class })
-    private List<String> stonePowder;
+    public List<String> stonePowder;
     @Valid
     @NotNull(message = "回填后照片不能为空", groups = { AddGroup.class, EditGroup.class })
-    private List<String> photosAfter;
+    public List<String> photosAfter;
     @Valid
     @NotNull(message = "警示带铺设照片不能为空", groups = { AddGroup.class, EditGroup.class })
-    private List<String> warningtTape;
+    public List<String> warningtTape;
     @Valid
     @NotNull(message = "视频不能为空", groups = { AddGroup.class, EditGroup.class })
-    private List<String> video;
+    public List<String> video;
 
     public List<String> getDuctalEpithelium() {
         return ductalEpithelium;

+ 2 - 2
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringMaterialBo.java

@@ -22,7 +22,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
 public class ZEngineeringMaterialBo extends BaseEntity {
 
     /**
-     * 
+     *
      */
     @NotBlank(message = "不能为空", groups = { EditGroup.class })
     private String id;
@@ -66,7 +66,7 @@ public class ZEngineeringMaterialBo extends BaseEntity {
     /**
      * 数量
      */
-    private Long number;
+    private Double number;
 
     /**
      * 备注

+ 8 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZMaterialStatisticsBo.java

@@ -1,5 +1,6 @@
 package com.ruoyi.zdsz.domain.bo;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
 import lombok.Data;
@@ -22,7 +23,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
 public class ZMaterialStatisticsBo extends BaseEntity {
 
     /**
-     * 
+     *
      */
     @NotBlank(message = "不能为空", groups = { EditGroup.class })
     private String id;
@@ -80,6 +81,12 @@ public class ZMaterialStatisticsBo extends BaseEntity {
      */
     @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
     private String remark;
+    @NotBlank(message = "工程分类不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginClassification;
+    @NotBlank(message = "工程类型不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginType;
+    @NotBlank(message = "节点类型不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String nodeType;
 
 
 }

+ 13 - 7
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/MaterialStatisticsListVo.java

@@ -19,6 +19,12 @@ public class MaterialStatisticsListVo {
     /**
      * 预估材质
      */
+    @ExcelProperty(value = "工程分类")
+    private String enginClassification;
+    @ExcelProperty(value = "工程类型")
+    private String enginType;
+    @ExcelProperty(value = "节点类型")
+    private String nodeType;
     @ExcelProperty(value = "材质")
     private String materialQuality;
 
@@ -32,7 +38,7 @@ public class MaterialStatisticsListVo {
      * 预估尺寸
      */
     @ExcelProperty(value = "预估用料")
-    private Long estimatedSize;
+    private Double estimatedSize;
     /**
      * 实际材质
      */
@@ -49,13 +55,13 @@ public class MaterialStatisticsListVo {
      * 实际尺寸
      */
     @ExcelProperty(value = "实际尺寸")
-    private Long realitySize;
+    private Double realitySize;
 
-    /**
-     * 工程周期
-     */
-    @ExcelProperty(value = "工程周期")
-    private String enginCycle;
+//    /**
+//     * 工程周期
+//     */
+//    @ExcelProperty(value = "工程周期")
+//    private String enginCycle;
 
 
 }

+ 14 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringCivilVo.java

@@ -76,6 +76,7 @@ public class ZEngineeringCivilVo extends BaseEntity implements Serializable {
      */
     @ExcelProperty(value = "工程分类")
     private String enginClassification;
+
     private String enginClassificationName;
 
     /**
@@ -103,6 +104,19 @@ public class ZEngineeringCivilVo extends BaseEntity implements Serializable {
     private String remark;
 
     private List<ZEngineeringNodeBo> zEngineeringNodeBoList;
+
+    public Object getNodeReViewStateList() {
+        return nodeReViewStateList;
+    }
+
+    public void setNodeReViewStateList(Object nodeReViewStateList) {
+        this.nodeReViewStateList = nodeReViewStateList;
+    }
+
+    /**
+     * 各个节点审核状态
+     */
+    private Object nodeReViewStateList;
     private ZEngineeringNodeBo zEngineeringNodeBo;
 
     public ZEngineeringNodeBo getzEngineeringNodeBo() {

+ 2 - 2
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringMaterialVo.java

@@ -22,7 +22,7 @@ public class ZEngineeringMaterialVo implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
-     * 
+     *
      */
     @ExcelProperty(value = "")
     private String id;
@@ -72,7 +72,7 @@ public class ZEngineeringMaterialVo implements Serializable {
      * 数量
      */
     @ExcelProperty(value = "数量")
-    private Long number;
+    private Double number;
 
     /**
      * 备注

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

@@ -21,6 +21,7 @@ import java.util.Map;
 public interface ZEngineeringCivilMapper extends BaseMapperPlus<ZEngineeringCivilMapper, ZEngineeringCivil, ZEngineeringCivilVo> {
     List<Map<String, Integer>> selectByDistrictStatistics(String district);
     Page<ZEngineeringCivilVo> queryPageList(@Param("p") ZEngineeringCivilBo bo,@Param("pa")Page<?> page,@Param("page") Integer pages,@Param("size") Integer size);
+    Page<ZEngineeringCivilVo> queryPageIdList(@Param("idList") List idList, @Param("total") Integer total, @Param("pa")Page<?> page,@Param("page") Integer pages,@Param("size") Integer size);
 
     List<roomStatusVo> getObtainRoomcCompletionInformationList(ZEngineeringCivilBo bo);
     List<areaWillDoneVo> getAreaCompletionInformationList(@Param("idList") List idList,@Param("enginCycle")String enginCycle);

+ 3 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java

@@ -12,6 +12,7 @@ import com.ruoyi.zdsz.domain.vo.ZEngineeringNodeVo;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 工程节点Service接口
@@ -79,6 +80,8 @@ public interface IZEngineeringNodeService {
     Boolean update(ZEngineeringNodeBo bo);
     Boolean updateMuch(ZEngineeringNodeBo bo);
     Boolean delete(ZEngineeringNodeBo bo);
+    List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList,String type);
+    List<Map<String,Object>> ReViewList(List<ZEngineeringCivil> zEngineeringCivilList);
 
     /**
      * 校验并批量删除工程节点信息

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

@@ -188,6 +188,7 @@ public class ZEngiineeringPhotoServiceImpl implements IZEngiineeringPhotoService
                 zEngiineeringPhoto1.setPicUrl(item);
                 zEngiineeringPhoto1.setUpdateTime(new Date());
                 zEngiineeringPhoto1.setCreateTime(zEngiineeringPhoto.getCreateTime());
+                zEngiineeringPhoto1.setType(bo.stream().filter(i->i.getPicUrl()==item).collect(Collectors.toList()).get(0).getType());
                 photoList.add(zEngiineeringPhoto1);
             });
             insertBatch(photoList);

+ 30 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java

@@ -155,7 +155,36 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
     @Override
     public TableDataInfo<ZEngineeringCivilVo> queryPageList(ZEngineeringCivilBo bo, PageQuery pageQuery) {
         Page<ZBuildingBo> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
-        Page<ZEngineeringCivilVo> result = baseMapper.queryPageList(bo, page, pageQuery.getPageNum() - 1, pageQuery.getPageSize());
+        LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZEngineeringCivil::getEnginCycle, bo.getEnginCycle());
+        lqw.last("limit "+(pageQuery.getPageNum() - 1)+","+(pageQuery.getPageNum()*pageQuery.getPageSize()));
+        Page<ZEngineeringCivilVo> result=new Page<>();
+        if (!"".equals(bo.getType())&&!ObjectUtils.isEmpty(bo.getType()))
+        {
+            List IDList=zEngineeringNodeService.nodeTypeList(baseMapper.selectList(lqw),bo.getType());
+
+            if (IDList.size()==0)
+            {
+                return TableDataInfo.build(result);
+            }
+          result = baseMapper.queryPageIdList(IDList, IDList.size(), page,pageQuery.getPageNum() - 1, pageQuery.getPageSize());
+            List<Map<String,Object>> ReviewList=zEngineeringNodeService.ReViewList(baseMapper.selectList(lqw));
+            result.getRecords().forEach(item->{
+                ReviewList.stream().forEach(item2->{
+                    item.setNodeReViewStateList(item2.get(item.getId()));
+                });
+            });
+            return TableDataInfo.build(result);
+        }
+        result = baseMapper.queryPageList(bo, page, pageQuery.getPageNum() - 1, pageQuery.getPageSize());
+        List<Map<String,Object>> ReviewList=zEngineeringNodeService.ReViewList(baseMapper.selectList(lqw));
+        result.getRecords().forEach(item->{
+            ReviewList.stream().forEach(item2->{
+                item.setNodeReViewStateList(item2.get(item.getId()));
+            });
+        });
         page.setTotal(!ObjectUtils.isEmpty(result.getRecords()) ? result.getRecords().get(0).getTotal() : 0);
         return TableDataInfo.build(result);
     }

+ 73 - 37
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfoServiceImpl.java

@@ -79,15 +79,15 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
                 zEngineeringInfoBo1.setConstructPhone(sysUser.getPhonenumber());
             }
             List<String> photoList = izEngiineeringPhotoService.queryList(zEngineeringInfoBo1);
-
             List<ZEngineeringMaterialBo> zEngineeringMaterialBo = izEngineeringMaterialService.query(zEngineeringInfoBo1);
             zEngineeringInfoBo1.setzEngiineeringPhotoBoList(photoList);
             zEngineeringInfoBo1.setzEngineeringMaterialBo(zEngineeringMaterialBo);
             zEngineeringInfoBo1.setPhotosAfter(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.photosAfter.name()));
             zEngineeringInfoBo1.setStonePowder(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.stonePowder.name()));
             zEngineeringInfoBo1.setDuctalEpithelium(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.ductalEpithelium.name()));
-            zEngineeringInfoBo1.setTrenchProspect(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.trenchProspect.name()));
+            zEngineeringInfoBo1.setWarningtTape(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.warningtTape.name()));
             zEngineeringInfoBo1.setVideo(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.Video.name()));
+            zEngineeringInfoBo1.setTrenchProspect(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.trenchProspect.name()));
             // bo.setId(item.getId());
             ZEngineeringReviewBo zEngineeringReviewbo = izEngineeringReviewService.query(bo);
             zEngineeringInfoBo1.setzEngineeringReviewBo(zEngineeringReviewbo);
@@ -175,12 +175,12 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
             izEngineeringMaterialService.insert(item);
         });
         }
+        List<ZEngiineeringPhoto> photoList = new ArrayList<>();
         if (!ObjectUtils.isEmpty(bo.getPhotosAfter()))
         {
-            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
             bo.getPhotosAfter().forEach(item -> {
                 ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
-                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setParentId(bo.getId());
                 zEngiineeringPhoto.setPicUrl(item);
                 zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
                 zEngiineeringPhoto.setUpdateTime(new Date());
@@ -188,12 +188,14 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
                 photoList.add(zEngiineeringPhoto);
             });
 
-        } else if (!ObjectUtils.isEmpty(bo.getVideo()))
+
+        }
+        if (!ObjectUtils.isEmpty(bo.getVideo()))
         {
-            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
-            bo.getPhotosAfter().forEach(item -> {
+
+            bo.getVideo().forEach(item -> {
                 ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
-                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setParentId(bo.getId());
                 zEngiineeringPhoto.setPicUrl(item);
                 zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
                 zEngiineeringPhoto.setUpdateTime(new Date());
@@ -201,12 +203,14 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
                 photoList.add(zEngiineeringPhoto);
             });
 
-        }else if (!ObjectUtils.isEmpty(bo.getDuctalEpithelium()))
+
+        }
+        if (!ObjectUtils.isEmpty(bo.getDuctalEpithelium()))
         {
-            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
-            bo.getPhotosAfter().forEach(item -> {
+
+            bo.getDuctalEpithelium().forEach(item -> {
                 ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
-                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setParentId(bo.getId());
                 zEngiineeringPhoto.setPicUrl(item);
                 zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
                 zEngiineeringPhoto.setUpdateTime(new Date());
@@ -214,12 +218,14 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
                 photoList.add(zEngiineeringPhoto);
             });
 
-        }else if (!ObjectUtils.isEmpty(bo.getStonePowder()))
+
+        }
+        if (!ObjectUtils.isEmpty(bo.getStonePowder()))
         {
-            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
-            bo.getPhotosAfter().forEach(item -> {
+
+            bo.getStonePowder().forEach(item -> {
                 ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
-                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setParentId(bo.getId());
                 zEngiineeringPhoto.setPicUrl(item);
                 zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
                 zEngiineeringPhoto.setUpdateTime(new Date());
@@ -227,34 +233,47 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
                 photoList.add(zEngiineeringPhoto);
             });
 
-        }else if (!ObjectUtils.isEmpty(bo.getTrenchProspect()))
+        }
+        if (!ObjectUtils.isEmpty(bo.getTrenchProspect()))
         {
-            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
-            bo.getPhotosAfter().forEach(item -> {
+
+            bo.getTrenchProspect().forEach(item -> {
                 ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
-                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setParentId(bo.getId());
                 zEngiineeringPhoto.setPicUrl(item);
                 zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
                 zEngiineeringPhoto.setUpdateTime(new Date());
                 zEngiineeringPhoto.setType(photoType.trenchProspect.name().toString());
                 photoList.add(zEngiineeringPhoto);
             });
+        }
+        if (!ObjectUtils.isEmpty(bo.getWarningtTape()))
+        {
 
+            bo.getWarningtTape().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(bo.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.warningtTape.name().toString());
+                photoList.add(zEngiineeringPhoto);
+            });
         }
-        List<ZEngiineeringPhoto> photoList = new ArrayList<>();
-        bo.getzEngiineeringPhotoBoList().forEach(item -> {
-            ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
-            zEngiineeringPhoto.setParentId(add.getId());
-            zEngiineeringPhoto.setPicUrl(item);
-            zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
-            zEngiineeringPhoto.setUpdateTime(new Date());
+        if (!ObjectUtils.isEmpty(bo.getzEngiineeringPhotoBoList())) {
+            bo.getzEngiineeringPhotoBoList().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(bo.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
                 photoList.add(zEngiineeringPhoto);
-        });
+            });
 
+        }
         if (!photoList.isEmpty()) {
             izEngiineeringPhotoService.insertBatch(photoList);
         }
-
         return add;
     }
 
@@ -300,10 +319,24 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
                 photoList2.add(zEngiineeringPhoto);
             });
 
-        } else if (!ObjectUtils.isEmpty(bo.getVideo()))
+        }
+        if (!ObjectUtils.isEmpty(bo.getWarningtTape()))
         {
 
-            bo.getPhotosAfter().forEach(item -> {
+            bo.getWarningtTape().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(update.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setType(photoType.warningtTape.name().toString());
+                photoList2.add(zEngiineeringPhoto);
+            });
+
+        }
+        if (!ObjectUtils.isEmpty(bo.getVideo()))
+        {
+
+            bo.getVideo().forEach(item -> {
                 ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
                 zEngiineeringPhoto.setParentId(update.getId());
                 zEngiineeringPhoto.setPicUrl(item);
@@ -313,10 +346,11 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
                 photoList2.add(zEngiineeringPhoto);
             });
 
-        }else if (!ObjectUtils.isEmpty(bo.getDuctalEpithelium()))
+        }
+        if (!ObjectUtils.isEmpty(bo.getDuctalEpithelium()))
         {
 
-            bo.getPhotosAfter().forEach(item -> {
+            bo.getDuctalEpithelium().forEach(item -> {
                 ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
                 zEngiineeringPhoto.setParentId(update.getId());
                 zEngiineeringPhoto.setPicUrl(item);
@@ -326,10 +360,11 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
                 photoList2.add(zEngiineeringPhoto);
             });
 
-        }else if (!ObjectUtils.isEmpty(bo.getStonePowder()))
+        }
+        if (!ObjectUtils.isEmpty(bo.getStonePowder()))
         {
 
-            bo.getPhotosAfter().forEach(item -> {
+            bo.getStonePowder().forEach(item -> {
                 ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
                 zEngiineeringPhoto.setParentId(update.getId());
                 zEngiineeringPhoto.setPicUrl(item);
@@ -339,10 +374,11 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
                 photoList2.add(zEngiineeringPhoto);
             });
 
-        }else if (!ObjectUtils.isEmpty(bo.getTrenchProspect()))
+        }
+        if (!ObjectUtils.isEmpty(bo.getTrenchProspect()))
         {
 
-            bo.getPhotosAfter().forEach(item -> {
+            bo.getTrenchProspect().forEach(item -> {
                 ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
                 zEngiineeringPhoto.setParentId(update.getId());
                 zEngiineeringPhoto.setPicUrl(item);

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

@@ -12,7 +12,6 @@ import com.ruoyi.common.helper.LoginHelper;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.redis.RedisUtils;
 import com.ruoyi.framework.handler.MonthTableNameHandler;
-import com.ruoyi.system.service.ISysDictTypeService;
 import com.ruoyi.zdsz.domain.ZEngineeringCivil;
 import com.ruoyi.zdsz.domain.ZEngineeringNode;
 import com.ruoyi.zdsz.domain.ZEngineeringReview;
@@ -39,7 +38,8 @@ import javax.annotation.Resource;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
 
 import static cn.hutool.core.date.DateUtil.format;
 
@@ -65,6 +65,8 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     private IZEngiineeringPhotoService izEngiineeringPhotoService;
     @Resource
     private ZEngineeringCivilMapper zEngineeringCivilMapper;
+    @Resource
+    private  ZEngineeringReviewMapper zEngineeringReviewMapper;
 
 
     /**
@@ -452,6 +454,70 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         return baseMapper.deleteById(bo.getId()) > 0;
     }
 
+    @Override
+    public List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList,String type) {
+        List<ZEngineeringNode> nodeTypeList=new ArrayList<>();
+        zEngineeringCivilList.forEach(item->{
+            String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
+            MonthTableNameHandler.setData(date);
+            LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
+            lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
+            lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
+            nodeTypeList.addAll(baseMapper.selectList(lqw));
+            MonthTableNameHandler.removeData();
+        });
+        List<String>IDList=new ArrayList<>();
+        if (!ObjectUtils.isEmpty(nodeTypeList))
+        {
+            IDList=nodeTypeList.stream().map(ZEngineeringNode::getCivliId).collect(Collectors.toList());
+        }
+        return IDList;
+    }
+
+    @Override
+    public List<Map<String,Object>> ReViewList(List<ZEngineeringCivil> zEngineeringCivilList) {
+        Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
+        List<ZEngineeringNode> nodeTypeList=new ArrayList<>();
+        List<Map<String,Object>> ReViewMap=new ArrayList<>();
+        AtomicReference<List<Map<String, Object>>> ReViewStateMap= new AtomicReference<>(new ArrayList<>());
+        zEngineeringCivilList.stream().forEach(item->{
+            String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
+            MonthTableNameHandler.setData(date);
+            LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
+            lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
+           // lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
+            List <ZEngineeringNode> nodeList=baseMapper.selectList(lqw);
+            nodeTypeList.addAll(nodeList);
+            nodeList.stream().forEach(item2->{
+                ReViewStateMap.get().clear();
+                LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
+                lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
+                List<ZEngineeringReview> ReviewList= zEngineeringReviewMapper.selectList(lqw2);
+                    sysDictMap.get(item.getEnginType()+"_"+item.getEnginClassification()).stream().forEach(item3 -> {
+                        Map<String,Object> map=new HashMap<>();
+                        if (item2.getType().equals(item3.getDictValue()))
+                        {
+                                map.put("Type",item2.getType());
+                                map.put("state",ReviewList.size()>0?ReviewList.get(0).getReviewStatus():"0");
+                        }else {
+                            map.put("Type",item3.getDictValue());
+                            map.put("state","0");
+                        }
+                        ReViewStateMap.get().add(map);
+                    });
+
+            });
+            Map<String,Object> statemap=new HashMap<>();
+            statemap.put(item.getId(),ReViewStateMap);
+            ReViewMap.add(statemap);
+            MonthTableNameHandler.removeData();
+
+        });
+
+        return ReViewMap;
+    }
+
+
     /**
      * 保存前的数据校验
      */

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

@@ -121,7 +121,7 @@ public class ZMaterialStatisticsServiceImpl implements IZMaterialStatisticsServi
                             lqw.eq(StringUtils.isNotBlank(item2.getType()), ZMaterialStatistics::getNodeType, item2.getType());
                             ZMaterialStatistics zMaterialStatistics = baseMapper.selectOne(lqw);
                             if (!ObjectUtils.isEmpty(zMaterialStatistics)) {
-                                zMaterialStatistics.setRealitySize(Math.toIntExact(zMaterialStatistics.getRealitySize()) + item.getNumber());
+                                zMaterialStatistics.setRealitySize(zMaterialStatistics.getRealitySize() + item.getNumber());
                                 baseMapper.updateById(zMaterialStatistics);
                             } else {
                                 if (!ObjectUtils.isEmpty(item.getMaterialQuality()) && !ObjectUtils.isEmpty(item.getSpecifications())) {
@@ -155,7 +155,7 @@ public class ZMaterialStatisticsServiceImpl implements IZMaterialStatisticsServi
                     lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZMaterialStatistics::getEnginCycle, bo.getEnginCycle());
                     ZMaterialStatistics zMaterialStatistics = baseMapper.selectOne(lqw);
                     if (zMaterialStatistics != null) {
-                        zMaterialStatistics.setRealitySize(Math.toIntExact(zMaterialStatistics.getRealitySize()) + item.getNumber());
+                        zMaterialStatistics.setRealitySize(zMaterialStatistics.getRealitySize() + item.getNumber());
                         baseMapper.updateById(zMaterialStatistics);
                     } else {
                         if (!ObjectUtils.isEmpty(item.getMaterialQuality()) && !ObjectUtils.isEmpty(item.getSpecifications())) {

+ 20 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml

@@ -106,6 +106,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ) AS at)
         order by a.create_time desc
     </select>
+    <select id="queryPageIdList" resultType="com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo">
+       select
+       #{total} as total,
+        a.*,
+        if(b.name is null , '未知' ,b.NAME) AS areaName,
+        if(c.name is null , '未知' ,c.NAME) AS buildingName,
+        if(d.name is null , '未知' ,d.NAME) AS unitName,
+        if(e.name is null , '未知' ,e.NAME) AS houseName,
+        f.dict_label AS enginClassificationName
+        from z_engineering_civil a
+        left join z_area b on b.id = a.area_id
+        left join z_building c on c.id = a.building_id
+        left join z_unit d on d.id = a.unit_id
+        left join z_house e on e.id = a.house_id
+        left join sys_dict_data f on f.dict_type = a.engin_type and f.dict_value = a.engin_classification
+        where a.id in  <foreach collection="idList" item="name" open="(" separator="," close=")">
+        #{name}
+    </foreach>
+        order by a.create_time desc
+    </select>
 <select id="getObtainRoomcCompletionInformationList" resultType="com.ruoyi.zdsz.domain.vo.roomStatusVo">
     select
     a.area_id,

+ 25 - 5
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZMaterialStatisticsMapper.xml

@@ -60,17 +60,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         d.NAME AS material_quality,
         c.NAME AS estimated_specifications,
         b.estimated_size,
-        f.dict_label AS engin_cycle
+        f.dict_label AS engin_cycle,
+        g.dict_label AS engin_classification,
+        CASE a.engin_type
+        WHEN 'old_renovation' THEN
+        '旧改'
+        ELSE
+        '新建'
+        END  as  engin_type,
+            a.node_type
         FROM
         z_material_statistics a
         LEFT JOIN z_engineering_materials_resets b ON a.reality_specifications = b.estimated_specifications
         AND b.area_id LIKE CONCAT( "%", a.area_id, "%" )
         AND a.engin_cycle = b.engin_cycle
-        AND a.del_flag = b.del_flag
+        AND a.del_flag = '0'
         LEFT JOIN z_engin_specifications c ON b.estimated_specifications = c.id
         LEFT JOIN z_engin_material_quality d ON d.id = b.material_quality
-        LEFT JOIN z_area e ON e.id=a.area_id
-        LEFT JOIN sys_dict_data f ON f.dict_type='engin_cycle' AND f.dict_value=a.engin_cycle
+        LEFT JOIN z_area e ON e.id = a.area_id
+        LEFT JOIN sys_dict_data f ON f.dict_type = 'engin_cycle'
+        AND f.dict_value = a.engin_cycle
+        LEFT JOIN sys_dict_data g ON g.dict_type = a. engin_type
+        AND g.dict_value = a.engin_classification
         WHERE
         1=1
         <if test="areaId != null  and areaId != ''">
@@ -85,7 +96,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="enginCycle != null  and enginCycle != ''">
             and a.engin_cycle = #{enginCycle}
         </if>
-
+        <if test="enginClassification != null  and enginClassification != ''">
+            and a.engin_classification = #{enginClassification}
+        </if>
+        <if test="nodeType != null  and nodeType != ''">
+            and a.node_type = #{nodeType}
+        </if>
+        <if test="enginType != null  and enginType != ''">
+            and a.engin_type = #{enginType}
+        </if>
+        AND  !ISNULL(b.material_quality)
     </select>
 
 </mapper>