Quellcode durchsuchen

添加审核删除施工信息功能

wangtong vor 1 Jahr
Ursprung
Commit
d989d2265c

+ 3 - 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java

@@ -12,10 +12,7 @@ import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 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.bo.switchBo;
+import com.ruoyi.zdsz.domain.bo.*;
 import com.ruoyi.zdsz.domain.vo.BulidingStatusVo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilExportVo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
@@ -210,8 +207,8 @@ public class ZEngineeringCivilController extends BaseController {
      */
     @Log(title = "民用工程", businessType = BusinessType.OTHER)
     @PostMapping("/CivilReview")
-    public R Civilinsert( @RequestBody ZEngineeringReviewBo zEngineeringReviewBo) {
-        return R.ok(iZEngineeringCivilService.Civilinsert(zEngineeringReviewBo));
+    public R Civilinsert( @RequestBody ZEngineeringReviewBo zEngineeringReviewBo,@RequestBody infoIdList infoIdList) {
+        return R.ok(iZEngineeringCivilService.Civilinsert(zEngineeringReviewBo,infoIdList));
     }
     /**
      *民用获取各个节点状态

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

@@ -66,4 +66,6 @@ public class ZEngineeringReviewBo extends BaseEntity {
     private String remark;
 
 
+
+
 }

+ 13 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/infoIdList.java

@@ -0,0 +1,13 @@
+package com.ruoyi.zdsz.domain.bo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class infoIdList {
+    //审核通过节点列表
+    private List<String> infoIdList;
+    //删除节点列表
+    private List<String> delInfoIdList;
+}

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

@@ -73,6 +73,9 @@ public interface IZEngiineeringPhotoService {
      * 校验并批量删除照片信息
      */
     Boolean delete(ZEngineeringInfoBo bo);
+    //删除记录但不释放资源
+    Boolean deleteNodelFiles(ZEngineeringInfoBo bo);
+
     Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
 
     Boolean deleteWithValidByurls(String url);

+ 2 - 5
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringCivilService.java

@@ -2,12 +2,9 @@ package com.ruoyi.zdsz.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.zdsz.domain.ZEngineeringCivil;
-import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
-import com.ruoyi.zdsz.domain.bo.ZEngineeringReviewBo;
-import com.ruoyi.zdsz.domain.bo.switchBo;
+import com.ruoyi.zdsz.domain.bo.*;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilExportVo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
-import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.zdsz.domain.vo.areaStatusVo;
@@ -75,7 +72,7 @@ public interface IZEngineeringCivilService {
      * @param zEngineeringReviewBo
      * @return
      */
-    int Civilinsert(ZEngineeringReviewBo zEngineeringReviewBo);
+    int Civilinsert(ZEngineeringReviewBo zEngineeringReviewBo, infoIdList infoIdList);
 
     /**
      * 根据工程id获取所有节点审核状态

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

@@ -71,6 +71,7 @@ public interface IZEngineeringInfoService {
     Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
     Boolean delete(ZEngineeringNodeBo bo);
     Boolean deleteById(ZEngineeringInfoBo bo);
+    Boolean deleteByIdNoDelFiles(ZEngineeringInfoBo bo);
     List<ZEngineeringMaterialBo> getzEngineeringMaterialBoList(ZEngineeringNodeBo bo);
 
 }

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

@@ -80,4 +80,5 @@ public interface IZEngineeringReviewService {
 
     Boolean updateCivilStatus(ZEngineeringCivil zEngineeringCivil);
     Boolean deleteByNodeId(ZEngineeringInfoBo bo);
+    Boolean deleteByInfoId(ZEngineeringNodeBo bo);
 }

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

@@ -224,6 +224,29 @@ public class ZEngiineeringPhotoServiceImpl implements IZEngiineeringPhotoService
         ;
         return flag > 0;
     }
+    @Override
+    @DynamicName(spel = "#bo.createTime")
+    @Transactional(rollbackFor = Exception.class)
+//    @Async("threadPoolTaskExecutor")
+    public Boolean deleteNodelFiles(ZEngineeringInfoBo bo) {
+        LambdaQueryWrapper<ZEngiineeringPhoto> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngiineeringPhoto::getParentId, bo.getId());
+        List<ZEngiineeringPhoto> zEngiineeringPhoto = baseMapper.selectList(lqw);
+        List IdList = new ArrayList();
+        List UrlList = new ArrayList();
+        zEngiineeringPhoto.stream().forEach(item -> {
+            IdList.add(item.getId());
+            UrlList.add(item.getPicUrl());
+
+        });
+        int flag = 0;
+        if (IdList.size() > 0) {
+           // obsService.deleteFiles(UrlList);
+            flag = baseMapper.deleteBatchIds(IdList);
+        }
+        ;
+        return flag > 0;
+    }
 
     /**
      * 保存前的数据校验

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

@@ -29,6 +29,7 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -68,6 +69,8 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
     private IZEngiineeringPhotoService izEngiineeringPhotoService;
     @Resource
     private ZEnginNotInstalledMapper zEnginNotInstalledMapper;
+    @Resource
+    private IZEngineeringInfoService izEngineeringInfoService;
 
     @Override
     public Map<String, List<?>> selectByDistrictStatistics(String district) {
@@ -399,6 +402,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
                     notInstalledLambdaQueryWrapper.eq(StringUtils.isNotBlank(bo.getHouseId()),ZEnginNotInstalled::getHouseId, bo.getHouseId());
                 zEnginNotInstalledMapper.delete(notInstalledLambdaQueryWrapper);
             }
+
             return true;
         }
     }
@@ -637,8 +641,14 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
 
     @Override
     @DynamicName(spel = "#zEngineeringReviewBo.createTime")
-    public int Civilinsert(ZEngineeringReviewBo zEngineeringReviewBo) {
+    public int Civilinsert(ZEngineeringReviewBo zEngineeringReviewBo, infoIdList infoIdList) {
         ZEngineeringNode zEngineeringNode = zEngineeringNodeMapper.selectById(zEngineeringReviewBo.getEngInfoId());
+        infoIdList.getDelInfoIdList().stream().forEach(item->{
+            ZEngineeringInfoBo zEngineeringInfoBo=new ZEngineeringInfoBo();
+            zEngineeringInfoBo.setCreateTime(zEngineeringNode.getCreateTime());
+            zEngineeringInfoBo.setId(item);
+            izEngineeringInfoService.deleteByIdNoDelFiles(zEngineeringInfoBo);
+        });
         ZEngineeringCivil zEngineeringCivil = baseMapper.selectById(zEngineeringNode.getCivliId());
         ZEngineeringCivilBo zEngineeringCivilBo = BeanUtil.copyProperties(zEngineeringCivil, ZEngineeringCivilBo.class);
         ZEngineeringNodeBo zEngineeringNodeBo = BeanUtil.copyProperties(zEngineeringNode, ZEngineeringNodeBo.class);
@@ -695,6 +705,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         return 0;
     }
 
+
     @Override
     public List<ZEngineeringNodeBo> getRivewStatus(String Id) {
         ZEngineeringCivil zEngineeringCivil1= baseMapper.selectById(Id);

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

@@ -636,6 +636,56 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
     }
 
     @Override
+    @DynamicName(spel = "#bo.createTime")
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean deleteByIdNoDelFiles(ZEngineeringInfoBo bo) {
+        ZEngineeringInfo zEngineeringInfo2=  baseMapper.selectById(bo.getId());
+        ZEngineeringNode zEngineeringNode=zEngineeringNodeMapper.selectById(zEngineeringInfo2.getEngInfoId());
+        ZEngineeringCivil zEngineeringCivil=zEngineeringCivilMapper.selectById(zEngineeringNode.getCivliId());
+        LambdaQueryWrapper<ZEngineeringMaterial> lqw3 = Wrappers.lambdaQuery();
+        lqw3.eq(ZEngineeringMaterial::getDetailsId,zEngineeringInfo2.getId());
+        List<ZEngineeringMaterial> zEngineeringMaterialList= zEngineeringMaterialMapper.selectList(lqw3);
+        zEngineeringMaterialList.stream().forEach(item->{
+            LambdaQueryWrapper<ZMaterialStatistics> lqwstatis = Wrappers.lambdaQuery();
+            lqwstatis.eq(StringUtils.isNotBlank(zEngineeringCivil.getAreaId()), ZMaterialStatistics::getAreaId, zEngineeringCivil.getAreaId());
+            lqwstatis.eq(StringUtils.isNotBlank(zEngineeringCivil.getBuildingId()), ZMaterialStatistics::getBuildingId, zEngineeringCivil.getBuildingId());
+            lqwstatis.eq(StringUtils.isNotBlank(zEngineeringCivil.getUnitId()), ZMaterialStatistics::getUnitId, zEngineeringCivil.getUnitId());
+            lqwstatis.eq(StringUtils.isNotBlank(zEngineeringCivil.getHouseId()), ZMaterialStatistics::getHouseId, zEngineeringCivil.getHouseId());
+            lqwstatis.eq(StringUtils.isNotBlank(item.getMaterialQuality()), ZMaterialStatistics::getRealityQuality, item.getMaterialQuality());
+            lqwstatis.eq(StringUtils.isNotBlank(item.getSpecifications()), ZMaterialStatistics::getRealitySpecifications, item.getSpecifications());
+            lqwstatis.eq(StringUtils.isNotBlank(zEngineeringCivil.getEnginCycle()), ZMaterialStatistics::getEnginCycle, zEngineeringCivil.getEnginCycle());
+            lqwstatis.eq(StringUtils.isNotBlank(zEngineeringCivil.getEnginClassification()), ZMaterialStatistics::getEnginClassification, zEngineeringCivil.getEnginClassification());
+            lqwstatis.eq(StringUtils.isNotBlank(zEngineeringCivil.getEnginType()), ZMaterialStatistics::getEnginType, zEngineeringCivil.getEnginType());
+            //lqwstatis.eq(StringUtils.isNotBlank(zEngineeringNode.getType()), ZMaterialStatistics::getNodeType, zEngineeringNode.getType());
+            ZMaterialStatistics zMaterialStatistics = zMaterialStatisticsMapper.selectOne(lqwstatis);
+            if (!ObjectUtils.isEmpty(zMaterialStatistics)) {
+                zMaterialStatistics.setRealitySize(BigDecimal.valueOf(zMaterialStatistics.getRealitySize()).subtract(BigDecimal.valueOf(item.getNumber())).doubleValue());
+                zMaterialStatisticsMapper.updateById(zMaterialStatistics);
+            }
+        });
+        LambdaQueryWrapper<ZEngineeringInfo> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngineeringInfo::getId, bo.getId());
+        ZEngineeringInfo zEngineeringInfo = baseMapper.selectOne(lqw);
+        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy_MM");
+        ZEngineeringInfoBo zEngineeringInfobo = new ZEngineeringInfoBo();
+        zEngineeringInfobo = BeanUtil.toBean(zEngineeringInfo, ZEngineeringInfoBo.class);
+        izEngiineeringPhotoService.delete(zEngineeringInfobo);
+        izEngineeringMaterialService.delete(zEngineeringInfobo);
+
+        MonthTableNameHandler.setData(simpleDateFormat.format(bo.getCreateTime()));
+        baseMapper.deleteById(bo.getId());
+
+        LambdaQueryWrapper<ZEngineeringInfo> lqw2 = Wrappers.lambdaQuery();
+        lqw2.eq(StringUtils.isNotBlank(bo.getEngInfoId()), ZEngineeringInfo::getEngInfoId, bo.getEngInfoId());
+        List<ZEngineeringInfo> zEngineeringInfoList = baseMapper.selectList(lqw2);
+        MonthTableNameHandler.removeData();
+        if (zEngineeringInfoList.size()==0)
+        {
+            izEngineeringReviewService.deleteByNodeId(zEngineeringInfobo);
+        }
+        return null;
+    }
+    @Override
     public List<ZEngineeringMaterialBo> getzEngineeringMaterialBoList(ZEngineeringNodeBo bo) {
         LambdaQueryWrapper<ZEngineeringInfo> lqw = Wrappers.lambdaQuery();
         lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngineeringInfo::getEngInfoId, bo.getId());

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

@@ -540,7 +540,9 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         bo.getzEngineeringInfoBo().setEngInfoId(add.getId());
         bo.getzEngineeringInfoBo().setCreateTime(bo.getCreateTime());
         bo.getzEngineeringInfoBo().setUpdateTime(new Date());
+        izEngineeringReviewService.deleteByInfoId(bo);
         izEngineeringInfoService.insert(bo.getzEngineeringInfoBo());
+
         return add;
     }
 

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

@@ -252,6 +252,13 @@ public class ZEngineeringReviewServiceImpl implements IZEngineeringReviewService
         lqw.eq(StringUtils.isNotBlank(bo.getEngInfoId()), ZEngineeringReview::getEngInfoId, bo.getEngInfoId());
         return baseMapper.delete(lqw)>0;
     }
+    @Override
+    @DynamicName(spel = "#bo.createTime")
+    public Boolean deleteByInfoId(ZEngineeringNodeBo bo) {
+        LambdaQueryWrapper<ZEngineeringReview> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngineeringReview::getEngInfoId, bo.getId()).eq(ZEngineeringReview::getReviewStatus,1);
+        return baseMapper.delete(lqw)>0;
+    }
 
     @Override
     @DynamicName(spel = "#zEngineeringCivil.createTime")