From 08a962d2925baa255207fdf979e6fee794f1773b Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 19 Jul 2024 12:25:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java |  130 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 2 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java
index 092991c..bb4fe64 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java
@@ -2,16 +2,23 @@
 
 import cn.gistack.sm.sjztmd.entity.*;
 import cn.gistack.sm.sjztmd.mapper.TbDykeInvestigationMapper;
+import cn.gistack.sm.sjztmd.mapper.TbResDykeMapper;
 import cn.gistack.sm.sjztmd.mapper.TbResGeneralInvestigationMapper;
 import cn.gistack.sm.sjztmd.service.*;
 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.vo.TbDykeInvestigationParam;
-import cn.gistack.sm.sjztmd.vo.TbResGeneralInvestigationParam;
+import cn.gistack.sm.sjztmd.util.DownloadZipUtils;
+import cn.gistack.sm.sjztmd.vo.*;
+import com.alibaba.nacos.shaded.com.google.gson.Gson;
+import com.alibaba.nacos.shaded.com.google.gson.JsonArray;
+import com.alibaba.nacos.shaded.com.google.gson.JsonElement;
+import com.alibaba.nacos.shaded.com.google.gson.JsonObject;
 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 lombok.val;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
@@ -20,9 +27,13 @@
 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;
+import java.util.stream.Collectors;
 
 /**
  * @PROJECT_NAME: skjcmanager
@@ -40,6 +51,15 @@
 
 	@Autowired
 	private IAttAdBaseService attAdBaseService;
+
+	@Autowired
+	private TbResDykeMapper tbResDykeMapper;
+
+	@Autowired
+	private HttpServletRequest request;
+
+//	@Autowired
+//	private HttpServletResponse response;
 
 	@Override
 	@Transactional
@@ -74,6 +94,18 @@
 
 		entity.setTbStateId(state.getGuid());
 //		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);
 	}
@@ -111,6 +143,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清空方便批量新增
@@ -126,6 +159,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));
@@ -201,4 +245,86 @@
 		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;
+		}
+
+	@Override
+	public List<DyketionVO> downloadZipCopy(IPage<TbResDykeVO> page,String type,TbResDykeVO tbResDykeVO) {
+		//获取已审批的数据
+		List<DyketionVO> iamgeAndVideoUrlcopy = baseMapper.getIamgeAndVideoUrlcopy();
+
+
+		for (DyketionVO dyketionVO : iamgeAndVideoUrlcopy) {
+			List<String> urls = new ArrayList<>();
+			List<DyketionallVO> dyketionallVOS = new ArrayList<>();
+			if(dyketionVO.getImagesUrl() != null){
+			urls.add(dyketionVO.getImagesUrl());
+			}
+			if(dyketionVO.getVideosUrl() != null) {
+				urls.add(dyketionVO.getVideosUrl());
+			}
+
+			//解析json中url 放入list集合中
+			List<String> urlss = DownloadZipUtils.getUrls(urls);
+
+			int counter=1;
+			for (String s : urlss) {
+				DyketionallVO dyketionallVO = new DyketionallVO();
+				dyketionallVO.setUrlname(dyketionVO.getDname()+"+"+dyketionVO.getRn()+String.format("%02d", counter++)+s.substring(s.length() - 4));
+				dyketionallVO.setUrl(s);
+				dyketionallVOS.add(dyketionallVO);
+			}
+			dyketionVO.setDyketionallVOS(dyketionallVOS);
+		}
+		//分页情况下
+	    if(type.equals("1")){
+			//获取分页信息
+//			TbResDykeVO tbResDykeVO = new TbResDykeVO();
+//			tbResDykeVO.setTbYear(2024);
+			List<TbResDykeVO> tbResDykeVOIPage = tbResDykeMapper.findTbResDykePcBy(page, tbResDykeVO);
+
+			List<String> dykeCode = new ArrayList<>();
+			for (TbResDykeVO imageAndVideoVO : tbResDykeVOIPage) {
+				dykeCode.add(imageAndVideoVO.getGuid());
+			}
+			List<DyketionVO> iamgeAndVideoUrls = iamgeAndVideoUrlcopy.stream()
+				.filter(dyketionVO -> dykeCode.contains(dyketionVO.getCode()))
+				.collect(Collectors.toList());
+
+			return iamgeAndVideoUrls;
+		}
+
+
+		return iamgeAndVideoUrlcopy;
+	}
+
 }

--
Gitblit v1.9.3