From cf4b6a52e4d4ba672147a7cb4c822631e6d28aa9 Mon Sep 17 00:00:00 2001
From: yxm <zhp1521624>
Date: Tue, 25 Jun 2024 17:29:19 +0800
Subject: [PATCH] 水库堤防普查白蚁防治图片视频压缩导出优化v20240625

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java |   72 +++++++++++++++++++++++++++++++++++
 1 files changed, 71 insertions(+), 1 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 937aefe..b1ebf04 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
@@ -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;
+		}
+
 }

--
Gitblit v1.9.3