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 |  155 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 150 insertions(+), 5 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 0c739c7..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
@@ -1,24 +1,33 @@
 package cn.gistack.sm.sjztmd.service.impl;
 
-import cn.gistack.sm.sjztmd.entity.TbDykeInvestigation;
-import cn.gistack.sm.sjztmd.entity.TbDykeInvestigationState;
-import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigation;
-import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigationState;
+import cn.gistack.sm.sjztmd.entity.*;
 import cn.gistack.sm.sjztmd.mapper.TbDykeInvestigationMapper;
 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.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;
 import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 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;
 
 /**
@@ -34,6 +43,15 @@
 
 	@Autowired
 	private ITbDykeInvestigationStateService tbDykeInvestigationStateService;
+
+	@Autowired
+	private IAttAdBaseService attAdBaseService;
+
+	@Autowired
+	private HttpServletRequest request;
+
+	@Autowired
+	private HttpServletResponse response;
 
 	@Override
 	@Transactional
@@ -67,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
@@ -103,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清空方便批量新增
@@ -118,10 +151,122 @@
 
 			//设置状态表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));
 
 	}
 
+	@Override
+	public StatisticsPie statisticsPie(StatisticsParams statisticsParams) {
+		if (StringUtil.isNotBlank(statisticsParams.getAdCode())){
+			//若行政区划不为空
+			String adCode =statisticsParams.getAdCode();
+
+			if (adCode.substring(0,4).indexOf("00") > -1) {
+				//前四位包含00说明是湖北省      4200/00000000
+				adCode =StringUtil.format("%{}%",adCode.substring(0,2));
+			} else if (adCode.substring(0,6).indexOf("00") > -1) {
+				//前六位包含00说明是市级    420100/000000
+//				adCode = paramAd.substring(0,4);
+				adCode =StringUtil.format("%{}%",adCode.substring(0,4));
+			}else if (adCode.substring(0,8).indexOf("00") > -1){
+				//前8位包含00 说明是区级     42011700/0000
+//				adCode = paramAd.substring(0,6);
+				adCode =StringUtil.format("%{}%",adCode.substring(0,6));
+			}
+			statisticsParams.setAdCode(adCode);
+		}
+
+		return baseMapper.statisticsPie(statisticsParams);
+	}
+
+	@Override
+	public List<StatisticsBar> statisticsBar(StatisticsParams statisticsParams) {
+//		String adCode = statisticsParams.getAdCode();
+//		String adGuid = "";
+//		//默认省
+//		String adGrad = "1";
+//
+//		//若行政区划不为空
+//		if (StringUtil.isNotBlank(adCode)){
+//			if (adCode.substring(0,4).indexOf("00") > -1) {
+//				//前四位包含00说明是湖北省      4200/00000000
+//				adGrad = "1";
+//				adGuid =StringUtil.format("%{}%",adCode.substring(0,2));
+//				statisticsParams.setAdGuid(adGuid);
+//			} else if (adCode.substring(0,6).indexOf("00") > -1) {
+//				//前六位包含00说明是市级    420100/000000
+//				adGrad = "2";
+//				adGuid =StringUtil.format("%{}%",adCode.substring(0,4));
+//				statisticsParams.setAdGuid(adGuid);
+//			}else if (adCode.substring(0,8).indexOf("00") > -1){
+//				//前8位包含00 说明是区级     42011700/0000
+//				adGrad = "3";
+//			}
+//		}
+//
+//		List<StatisticsBar> list = new ArrayList<>();
+//
+//		if (adGrad.equals("3")){
+//			//区级展示自己
+//			list =  baseMapper.getCountyStatisticsBar(statisticsParams);
+//		}else if (adGrad.equals("2")){
+//			//市级展示区
+//			list =  baseMapper.getCityStatisticsBar(statisticsParams);
+//		}else  if (adGrad.equals("1")){
+//			//省级展示市
+//			list =  baseMapper.getProvinceStatisticsBar(statisticsParams);
+//		}
+
+
+		AttAdBase  attAdBase = attAdBaseService.getYwxtAdDetail(statisticsParams.getAdCode());
+		statisticsParams.setAdGrad(attAdBase.getAdGrad());
+		List list = baseMapper.getStatisticsBar(statisticsParams);
+		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