Browse Source

批量审核

wangtong 1 year ago
parent
commit
85ebf18c77
18 changed files with 370 additions and 5 deletions
  1. 9 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java
  2. 4 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngiineeringPhoto.java
  3. 13 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZMaterialStatistics.java
  4. 65 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringInfoBo.java
  5. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringNodeBo.java
  6. 6 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/BulidingStatusVo.java
  7. 15 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/areaStatusVo.java
  8. 4 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/areaWillDoneVo.java
  9. 41 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/enums/photoType.java
  10. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringCivilMapper.java
  11. 7 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngiineeringPhotoService.java
  12. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringCivilService.java
  13. 13 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngiineeringPhotoServiceImpl.java
  14. 24 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java
  15. 143 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfoServiceImpl.java
  16. 5 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZMaterialStatisticsServiceImpl.java
  17. 15 0
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml
  18. 3 0
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZMaterialStatisticsMapper.xml

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

@@ -15,7 +15,9 @@ import com.ruoyi.zdsz.domain.ZEngineeringCivil;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringReviewBo;
+import com.ruoyi.zdsz.domain.vo.BulidingStatusVo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
+import com.ruoyi.zdsz.domain.vo.areaStatusVo;
 import com.ruoyi.zdsz.service.IZEngineeringCivilService;
 import com.ruoyi.zdsz.service.IZEngineeringReviewService;
 import lombok.RequiredArgsConstructor;
@@ -148,6 +150,13 @@ public class ZEngineeringCivilController extends BaseController {
     public R getObtainRoomcCompletionInformationList(@RequestBody ZEngineeringCivilBo zEngineeringCivilBo) {
         return R.ok(iZEngineeringCivilService.getObtainRoomcCompletionInformationList(zEngineeringCivilBo));
     }
+    @SaCheckPermission("zdsz:engineeringCivil:export")
+    @Log(title = "民用工程", businessType = BusinessType.EXPORT)
+    @PostMapping("/getAreaCompletionInformationListexport")
+    public void getAreaCompletionInformationListexport(ZEngineeringCivilBo bo,  HttpServletResponse response) {
+        List<areaStatusVo> list = iZEngineeringCivilService.getAreaCompletionInformationList2(bo);
+        ExcelUtil.exportExcel(list, "进度统计", areaStatusVo.class, response);
+    }
    // @SaCheckPermission("zdsz:engineeringCivil:remove")
     @Log(title = "民用工程", businessType = BusinessType.DELETE)
     @GetMapping("/getAreaCompletionInformationList")

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

@@ -46,5 +46,9 @@ public class ZEngiineeringPhoto extends BaseEntity {
      */
     @TableLogic
     private String delFlag;
+    /**
+     *图片类型(ductalEpithelium-管上皮深度测量照片,trenchProspect-管沟远景照片,StonePowder-石粉回填照片,WarningtTape-警示带铺设,PhotosAfter-回填后照片,Video-视频)
+     */
+    private String Type;
 
 }

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

@@ -23,7 +23,7 @@ public class ZMaterialStatistics extends BaseEntity {
     private static final long serialVersionUID=1L;
 
     /**
-     * 
+     *
      */
     @TableId(value = "id")
     private String id;
@@ -64,6 +64,18 @@ public class ZMaterialStatistics extends BaseEntity {
      */
     private String remark;
     /**
+     * 工程分类
+     */
+    private String enginClassification;
+    /**
+     * 工程类型
+     */
+    private String enginType;
+    /**
+     * 节点
+     */
+    private String nodeType;
+    /**
      * 删除标识
      */
     @TableLogic

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

@@ -108,7 +108,72 @@ public class ZEngineeringInfoBo extends BaseEntity {
     @Valid
     @NotNull(message = "照片不能为空", groups = { AddGroup.class, EditGroup.class })
     private List<String> zEngiineeringPhotoBoList;
+    @Valid
+    @NotNull(message = "管上皮深度测量照片不能为空", groups = { AddGroup.class, EditGroup.class })
+    private List<String> ductalEpithelium;
+    @Valid
+    @NotNull(message = "管沟远景照片不能为空", groups = { AddGroup.class, EditGroup.class })
+    private List<String> trenchProspect;
+    @Valid
+    @NotNull(message = "石粉回填不能为空", groups = { AddGroup.class, EditGroup.class })
+    private List<String> stonePowder;
+    @Valid
+    @NotNull(message = "回填后照片不能为空", groups = { AddGroup.class, EditGroup.class })
+    private List<String> photosAfter;
+    @Valid
+    @NotNull(message = "警示带铺设照片不能为空", groups = { AddGroup.class, EditGroup.class })
+    private List<String> warningtTape;
+    @Valid
+    @NotNull(message = "视频不能为空", groups = { AddGroup.class, EditGroup.class })
+    private List<String> video;
+
+    public List<String> getDuctalEpithelium() {
+        return ductalEpithelium;
+    }
 
+    public void setDuctalEpithelium(List<String> ductalEpithelium) {
+        this.ductalEpithelium = ductalEpithelium;
+    }
+
+    public List<String> getTrenchProspect() {
+        return trenchProspect;
+    }
+
+    public void setTrenchProspect(List<String> trenchProspect) {
+        this.trenchProspect = trenchProspect;
+    }
+
+    public List<String> getStonePowder() {
+        return stonePowder;
+    }
+
+    public void setStonePowder(List<String> stonePowder) {
+        this.stonePowder = stonePowder;
+    }
+
+    public List<String> getPhotosAfter() {
+        return photosAfter;
+    }
+
+    public void setPhotosAfter(List<String> photosAfter) {
+        this.photosAfter = photosAfter;
+    }
+
+    public List<String> getWarningtTape() {
+        return warningtTape;
+    }
+
+    public void setWarningtTape(List<String> warningtTape) {
+        this.warningtTape = warningtTape;
+    }
+
+    public List<String> getVideo() {
+        return video;
+    }
+
+    public void setVideo(List<String> video) {
+        this.video = video;
+    }
 
     public List<ZEngineeringMaterialBo> getzEngineeringMaterialBo() {
         return zEngineeringMaterialBo;

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringNodeBo.java

@@ -81,4 +81,5 @@ public class ZEngineeringNodeBo extends BaseEntity {
     }
 
     private List<ZEngineeringInfoBo> zEngineeringInfoBoList;
+
 }

+ 6 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/BulidingStatusVo.java

@@ -1,5 +1,6 @@
 package com.ruoyi.zdsz.domain.vo;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
 
 import java.util.List;
@@ -12,21 +13,26 @@ public class BulidingStatusVo {
     /**
      * 单元名称
      */
+    @ExcelProperty(value = "单元")
     private  String unitName;
     /**
      * 房间
      */
+
     private List<List<roomStatusVo>> roomStatusVoList;
     /**
      * 进行中房间数
      */
+    @ExcelProperty(value = "施工中(户)")
      private  String willDone;
     /**
      * 未开始总房间数
      */
+    @ExcelProperty(value = "未施工(户)")
     private  String notstart;
     /**
      * 竣工总房间数
      */
+    @ExcelProperty(value = "竣工(户)")
     private   String done;
 }

+ 15 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/areaStatusVo.java

@@ -1,5 +1,7 @@
 package com.ruoyi.zdsz.domain.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
 
 @Data
@@ -7,21 +9,34 @@ public class areaStatusVo {
     /**
      * 小区id
      */
+    @ExcelIgnore
     private  String  areaId;
     /**
      * 小区名称
      */
+    @ExcelProperty(value = "单元")
     private  String  areaName;
+
+    /**
+     * 规模
+     */
+    @ExcelProperty(value = "规模(户)")
+    private   String scale;
     /**
      * 进行中房间数
      */
+    @ExcelProperty(value = "施工中(户)")
     private  String willDone;
     /**
      * 未开始总房间数
      */
+    @ExcelProperty(value = "未施工(户)")
     private  String notstart;
     /**
      * 竣工总房间数
      */
+    @ExcelProperty(value = "竣工(户)")
     private   String done;
+
+
 }

+ 4 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/areaWillDoneVo.java

@@ -33,7 +33,10 @@ public class areaWillDoneVo  extends BaseEntity {
      * 单元名称
      */
     private  String unitName;
-
+    /**
+     * 小区规模
+     */
+    private String scale;
 
 
 

+ 41 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/enums/photoType.java

@@ -0,0 +1,41 @@
+package com.ruoyi.zdsz.enums;
+
+import com.ruoyi.common.enums.UserType;
+import com.ruoyi.common.utils.StringUtils;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum photoType {
+    /**
+     * 管上皮深度测量照片
+     */
+    ductalEpithelium,
+
+    /**
+     * 管沟远景照片
+     */
+    trenchProspect,
+
+    /**
+     * 石粉回填照片
+     */
+    stonePowder,
+
+    /**
+     * 警示带铺设
+     */
+    warningtTape,
+
+    /**
+     * 回填后照片
+     */
+    photosAfter,
+
+    /**
+     * 视频
+     */
+    Video;
+
+}

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

@@ -24,6 +24,7 @@ public interface ZEngineeringCivilMapper extends BaseMapperPlus<ZEngineeringCivi
 
     List<roomStatusVo> getObtainRoomcCompletionInformationList(ZEngineeringCivilBo bo);
     List<areaWillDoneVo> getAreaCompletionInformationList(@Param("idList") List idList,@Param("enginCycle")String enginCycle);
+    List<areaWillDoneVo> getAreaCompletionInformationList2(@Param("enginCycle")String enginCycle);
     areaStatusVo getsumStatus(String enginCycle);
 
     areaMessageVo getHouseMessage(String Id);

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

@@ -29,6 +29,13 @@ public interface IZEngiineeringPhotoService {
     List<String> queryList(ZEngineeringInfoBo bo);
 
     /**
+     * 根据类型查询照片
+     * @param bo
+     * @return
+     */
+    List<String> queryTypeList(ZEngineeringInfoBo bo,String Type);
+
+    /**
      * 查询照片列表
      */
     TableDataInfo<ZEngiineeringPhotoVo> queryPageList(ZEngiineeringPhotoBo bo, PageQuery pageQuery);

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

@@ -62,6 +62,7 @@ public interface IZEngineeringCivilService {
     List getObtainRoomcCompletionInformationList(ZEngineeringCivilBo bo);
 
     TableDataInfo<areaStatusVo> getAreaCompletionInformationList(ZEngineeringCivilBo bo,PageQuery po);
+    List<areaStatusVo> getAreaCompletionInformationList2(ZEngineeringCivilBo bo);
     areaStatusVo getsumStatus(ZEngineeringCivilBo bo);
     int   batchReview (ZEngineeringCivilBo bo, ZEngineeringNodeBo zEngineeringNodeBo);
     /**

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

@@ -60,6 +60,19 @@ public class ZEngiineeringPhotoServiceImpl implements IZEngiineeringPhotoService
         List<String> list = new ArrayList<>();
         LambdaQueryWrapper<ZEngiineeringPhoto> lqw = Wrappers.lambdaQuery();
         lqw.orderByDesc(ZEngiineeringPhoto::getUpdateTime);
+        lqw.isNull(ZEngiineeringPhoto::getType);
+        lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngiineeringPhoto::getParentId, bo.getId()).orderByDesc(ZEngiineeringPhoto::getCreateTime);
+        List<ZEngiineeringPhoto> zEngiineeringPhotoList = baseMapper.selectList(lqw);
+        zEngiineeringPhotoList.stream().forEach(item -> {
+            list.add(item.getPicUrl());
+        });
+        return list;
+    }
+    public List<String> queryTypeList(ZEngineeringInfoBo bo,String Type) {
+        List<String> list = new ArrayList<>();
+        LambdaQueryWrapper<ZEngiineeringPhoto> lqw = Wrappers.lambdaQuery();
+        lqw.orderByDesc(ZEngiineeringPhoto::getUpdateTime);
+        lqw.eq(StringUtils.isNotBlank(Type), ZEngiineeringPhoto::getType, Type);
         lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngiineeringPhoto::getParentId, bo.getId()).orderByDesc(ZEngiineeringPhoto::getCreateTime);
         List<ZEngiineeringPhoto> zEngiineeringPhotoList = baseMapper.selectList(lqw);
         zEngiineeringPhotoList.stream().forEach(item -> {

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

@@ -185,7 +185,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
         lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
         ZEngineeringCivilVo zEngineeringCivilVo = baseMapper.selectVoOne(lqw);
-        if ("indoor_engin".equals(bo.getEnginClassification())) {
+        if ("indoor_engin".equals(bo.getEnginClassification())||"courtyard".equals(bo.getEnginClassification())||"overhead".equals(bo.getEnginClassification())) {
             if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo()) || !ObjectUtils.isEmpty(bo.getzEngineeringNodeBoList()) || bo.getzEngineeringNodeBoList().size() > 0)
                 izMaterialStatisticsService.insert(bo);
         }
@@ -362,6 +362,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
             areaStatusVo.setWillDone(String.valueOf(willDone.size()));
             areaStatusVo.setNotstart(String.valueOf(notstart.size()));
             areaStatusVo.setDone(String.valueOf(done.size()));
+            areaStatusVo.setScale(value.get(0).getScale().toString());
             areaList.add(areaStatusVo);
         });
         Page<areaStatusVo> page2 = new Page<>();
@@ -371,6 +372,28 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
     }
 
     @Override
+    public List<areaStatusVo> getAreaCompletionInformationList2(ZEngineeringCivilBo bo) {
+        List<areaWillDoneVo> hourseList = baseMapper.getAreaCompletionInformationList2( bo.getEnginCycle());
+        Map<String, List<areaWillDoneVo>> stringListMap = hourseList.stream().collect(Collectors.groupingBy(item -> item.getAreaId()));
+        List<areaStatusVo> areaList = new ArrayList<>();
+        stringListMap.forEach((key, value) -> {
+            areaStatusVo areaStatusVo = new areaStatusVo();
+            List  notstart = value.stream().filter(item -> item.getRoomStatus().equals("未施工")).collect(Collectors.toList());
+            List  willDone = value.stream().filter(item -> item.getRoomStatus().equals("施工中")).collect(Collectors.toList());
+            List done = value.stream().filter(item -> item.getRoomStatus().equals("竣工")).collect(Collectors.toList());
+            areaStatusVo.setAreaId(key);
+            areaStatusVo.setAreaName(value.get(0).getName());
+            areaStatusVo.setWillDone(String.valueOf(willDone.size()));
+            areaStatusVo.setNotstart(String.valueOf(notstart.size()));
+            areaStatusVo.setDone(String.valueOf(done.size()));
+            areaStatusVo.setScale(value.get(0).getScale().toString());
+            areaList.add(areaStatusVo);
+        });
+
+        return areaList;
+    }
+
+    @Override
     public areaStatusVo getsumStatus(ZEngineeringCivilBo bo) {
         areaStatusVo areaStatusVo = baseMapper.getsumStatus(bo.getEnginCycle());
         areaStatusVo.setNotstart(String.valueOf(Integer.parseInt(areaStatusVo.getNotstart()) - Integer.parseInt(areaStatusVo.getWillDone()) - Integer.parseInt(areaStatusVo.getDone())));

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

@@ -18,6 +18,7 @@ import com.ruoyi.zdsz.domain.bo.ZEngineeringMaterialBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringReviewBo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringInfoVo;
+import com.ruoyi.zdsz.enums.photoType;
 import com.ruoyi.zdsz.mapper.ZEngineeringInfoMapper;
 import com.ruoyi.zdsz.service.IZEngiineeringPhotoService;
 import com.ruoyi.zdsz.service.IZEngineeringInfoService;
@@ -78,10 +79,16 @@ 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);
-           // bo.setId(item.getId());
+            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.setVideo(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.Video.name()));
+            // bo.setId(item.getId());
             ZEngineeringReviewBo zEngineeringReviewbo = izEngineeringReviewService.query(bo);
             zEngineeringInfoBo1.setzEngineeringReviewBo(zEngineeringReviewbo);
             zEngineeringInfoBoList.add(zEngineeringInfoBo1);
@@ -168,6 +175,72 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
             izEngineeringMaterialService.insert(item);
         });
         }
+        if (!ObjectUtils.isEmpty(bo.getPhotosAfter()))
+        {
+            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.photosAfter.name().toString());
+                photoList.add(zEngiineeringPhoto);
+            });
+
+        } else if (!ObjectUtils.isEmpty(bo.getVideo()))
+        {
+            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.Video.name().toString());
+                photoList.add(zEngiineeringPhoto);
+            });
+
+        }else if (!ObjectUtils.isEmpty(bo.getDuctalEpithelium()))
+        {
+            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.ductalEpithelium.name().toString());
+                photoList.add(zEngiineeringPhoto);
+            });
+
+        }else if (!ObjectUtils.isEmpty(bo.getStonePowder()))
+        {
+            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.stonePowder.name().toString());
+                photoList.add(zEngiineeringPhoto);
+            });
+
+        }else if (!ObjectUtils.isEmpty(bo.getTrenchProspect()))
+        {
+            List<ZEngiineeringPhoto> photoList = new ArrayList<>();
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(add.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.trenchProspect.name().toString());
+                photoList.add(zEngiineeringPhoto);
+            });
+
+        }
         List<ZEngiineeringPhoto> photoList = new ArrayList<>();
         bo.getzEngiineeringPhotoBoList().forEach(item -> {
             ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
@@ -214,6 +287,75 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
         if (photoList.size() > 0 ) {
             izEngiineeringPhotoService.updateBatch(photoList);
         }
+        List<ZEngiineeringPhoto> photoList2 = new ArrayList<>();
+        if (!ObjectUtils.isEmpty(bo.getPhotosAfter()))
+        {
+
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(update.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setType(photoType.photosAfter.name().toString());
+                photoList2.add(zEngiineeringPhoto);
+            });
+
+        } else if (!ObjectUtils.isEmpty(bo.getVideo()))
+        {
+
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(update.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.Video.name().toString());
+                photoList2.add(zEngiineeringPhoto);
+            });
+
+        }else if (!ObjectUtils.isEmpty(bo.getDuctalEpithelium()))
+        {
+
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(update.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.ductalEpithelium.name().toString());
+                photoList2.add(zEngiineeringPhoto);
+            });
+
+        }else if (!ObjectUtils.isEmpty(bo.getStonePowder()))
+        {
+
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(update.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.stonePowder.name().toString());
+                photoList2.add(zEngiineeringPhoto);
+            });
+
+        }else if (!ObjectUtils.isEmpty(bo.getTrenchProspect()))
+        {
+
+            bo.getPhotosAfter().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(update.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.trenchProspect.name().toString());
+                photoList2.add(zEngiineeringPhoto);
+            });
+
+        }
+        if (photoList2.size() > 0 ) {
+            izEngiineeringPhotoService.updateBatch(photoList2);
+        }
         izEngineeringMaterialService.updateList(bo);
        // update.setUpdateTime(new Date());
         return baseMapper.updateById(update) > 0;

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

@@ -116,8 +116,11 @@ public class ZMaterialStatisticsServiceImpl implements IZMaterialStatisticsServi
                             lqw.eq(StringUtils.isNotBlank(item.getMaterialQuality()), ZMaterialStatistics::getRealityQuality, item.getMaterialQuality());
                             lqw.eq(StringUtils.isNotBlank(item.getSpecifications()), ZMaterialStatistics::getRealitySpecifications, item.getSpecifications());
                             lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZMaterialStatistics::getEnginCycle, bo.getEnginCycle());
+                            lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZMaterialStatistics::getEnginClassification, bo.getEnginClassification());
+                            lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZMaterialStatistics::getEnginType, bo.getEnginType());
+                            lqw.eq(StringUtils.isNotBlank(item2.getType()), ZMaterialStatistics::getNodeType, item2.getType());
                             ZMaterialStatistics zMaterialStatistics = baseMapper.selectOne(lqw);
-                            if (zMaterialStatistics != null) {
+                            if (!ObjectUtils.isEmpty(zMaterialStatistics)) {
                                 zMaterialStatistics.setRealitySize(Math.toIntExact(zMaterialStatistics.getRealitySize()) + item.getNumber());
                                 baseMapper.updateById(zMaterialStatistics);
                             } else {
@@ -128,6 +131,7 @@ public class ZMaterialStatisticsServiceImpl implements IZMaterialStatisticsServi
                                     zMaterialStatistics1.setRealitySpecifications(item.getSpecifications());
                                     zMaterialStatistics1.setRealitySize(item.getNumber());
                                     zMaterialStatistics1.setEnginCycle(bo.getEnginCycle());
+                                    zMaterialStatistics1.setNodeType(item2.getType());
                                     baseMapper.insert(zMaterialStatistics1);
                                 }
                             }

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

@@ -124,6 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT
         za.id as areaId,
         za.NAME,
+        IFNULL( za.scale, 0 ) AS scale,
         IFNULL( ze.completion_status, '未施工' ) AS roomStatus
         FROM
         z_house zh
@@ -137,6 +138,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
         ORDER BY za.id ASC
     </select>
+    <select id="getAreaCompletionInformationList2"  resultType="com.ruoyi.zdsz.domain.vo.areaWillDoneVo">
+        SELECT
+        za.id as areaId,
+        za.NAME,
+        IFNULL( za.scale, 0 ) AS scale,
+        IFNULL( ze.completion_status, '未施工' ) AS roomStatus
+        FROM
+        z_house zh
+        LEFT JOIN z_area za ON za.id = zh.area_id
+        LEFT JOIN z_engineering_civil ze ON zh.id = ze.house_id AND ze.del_flag = '0' AND ze.engin_cycle=#{enginCycle}
+        WHERE
+        zh.del_flag = 0
+        ORDER BY za.id ASC
+    </select>
     <select id="getsumStatus" resultType="com.ruoyi.zdsz.domain.vo.areaStatusVo">
         SELECT
             COUNT( DISTINCT a.house_id ) AS 'willDone' ,

+ 3 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZMaterialStatisticsMapper.xml

@@ -14,6 +14,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="realitySpecifications" column="reality_specifications"/>
         <result property="realitySize" column="reality_size"/>
         <result property="enginCycle" column="engin_cycle"/>
+        <result property="enginClassification" column="engin_classification"/>
+        <result property="nodeType" column="node_type"/>
+        <result property="enginType" column="engin_type"/>
         <result property="remark" column="remark"/>
         <result property="delFlag" column="del_flag"/>
         <result property="createBy" column="create_by"/>