yxm
2024-06-25 cf4b6a52e4d4ba672147a7cb4c822631e6d28aa9
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java
@@ -7,10 +7,13 @@
import cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar;
import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams;
import cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie;
import cn.gistack.sm.sjztmd.util.DownloadZipUtils;
import cn.gistack.sm.sjztmd.vo.ImageAndVideoVO;
import cn.gistack.sm.sjztmd.vo.TbDykeInvestigationParam;
import cn.gistack.sm.sjztmd.vo.TbResGeneralInvestigationParam;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@@ -20,6 +23,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
@@ -40,6 +46,12 @@
   @Autowired
   private IAttAdBaseService attAdBaseService;
   @Autowired
   private HttpServletRequest request;
   @Autowired
   private HttpServletResponse response;
   @Override
   @Transactional
@@ -73,7 +85,21 @@
      tbDykeInvestigationStateService.saveOrUpdate(state);
      entity.setTbStateId(state.getGuid());
      return R.status(this.saveOrUpdate(entity));
//      return R.status(this.saveOrUpdate(entity));
      // 如果有危害,设置危害长度只留一个
      if (entity.getHazardRating().equals("有危害")) {
         QueryWrapper qw = new QueryWrapper();
         qw.eq("\"dyke_guid\"",entity.getDykeGuid());
         qw.eq("\"unit\"",entity.getUnit());
         long count = count(qw);
         if (count > 0) {
            entity.setDangerLength(0D);
         }
      }
      this.saveOrUpdate(entity);
      return R.data(entity);
   }
   @Override
@@ -109,6 +135,7 @@
//      delete.eq("\"tb_state_id\"",state.getGuid());
//      boolean remove = remove(delete);
      String lengStr = "";//处理危害长度问题
      for (int i = 0; i < list.size(); i++) {
         TbDykeInvestigation tbDykeInvestigation = list.get(i);
         //id清空方便批量新增
@@ -124,6 +151,17 @@
         //设置状态表id
         tbDykeInvestigation.setTbStateId(state.getGuid());
         //处理危害长度
         if (tbDykeInvestigation.getHazardRating().equals("有危害")) {
            if (lengStr.indexOf(tbDykeInvestigation.getUnit()) > -1) {
               tbDykeInvestigation.setDangerLength(0D);
            }
         }
         lengStr = lengStr + tbDykeInvestigation.getUnit();
      }
      return R.status(saveOrUpdateBatch(list));
@@ -199,4 +237,36 @@
      return list;
   }
   /**
    *
    * @param page
    * @return 操作状态
    */
   @Override
   public List<String> downZip(IPage<ImageAndVideoVO> page,String type) throws IOException {
      List<ImageAndVideoVO> iamgeAndVideoUrls;
      if (type.equals("1")) {
         iamgeAndVideoUrls = baseMapper.getIamgeAndVideoUrl(page);
      }else {
         iamgeAndVideoUrls = baseMapper.getIamgeAndVideoUrl(null);
      }
      List<String> urls = new ArrayList<>();
      for (ImageAndVideoVO iamgeAndVideoUrl : iamgeAndVideoUrls) {
         urls.add(iamgeAndVideoUrl.getImagesUrl());
         urls.add(iamgeAndVideoUrl.getVideosUrl());
      }
      List<String> urlss = DownloadZipUtils.getUrls(urls);
      if (urlss.isEmpty()) {
         return null;
      }
//      }else {
//         // 打印提取的URLs
//         for (String url1 : urlss) {
//            DownloadZipUtils.downloadFile(url1);
//         }
//         DownloadZipUtils.downloadZip(request, response,0);
         return urlss;
      }
}