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/TbResGeneralInvestigationServiceImpl.java | 189 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 189 insertions(+), 0 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
index ea8829e..c499186 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
@@ -1,12 +1,43 @@
package cn.gistack.sm.sjztmd.service.impl;
+import cn.gistack.sm.sjztmd.util.DownloadZipUtils;
import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigation;
+import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigationState;
import cn.gistack.sm.sjztmd.mapper.TbResGeneralInvestigationMapper;
import cn.gistack.sm.sjztmd.service.ITbResGeneralInvestigationService;
+import cn.gistack.sm.sjztmd.service.ITbResGeneralInvestigationStateService;
+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.statisticsVO.StatisticsTable;
+import cn.gistack.sm.sjztmd.util.CalculateUtils;
+import cn.gistack.sm.sjztmd.util.DownloadZipUtils;
+import cn.gistack.sm.sjztmd.vo.AttResBaseGeneralInvestigationVO;
+import cn.gistack.sm.sjztmd.vo.ImageAndVideoVO;
+import cn.gistack.sm.sjztmd.vo.TbResGeneralInvestigationParam;
+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;
+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;
/**
* @PROJECT_NAME: skjcmanager
@@ -19,4 +50,162 @@
@Transactional(rollbackFor = Exception.class)
public class TbResGeneralInvestigationServiceImpl extends ServiceImpl<TbResGeneralInvestigationMapper, TbResGeneralInvestigation> implements ITbResGeneralInvestigationService {
+ @Autowired
+ private ITbResGeneralInvestigationStateService tbResGeneralInvestigationStateService;
+
+ @Autowired
+ private HttpServletRequest request;
+ @Autowired
+ private HttpServletResponse response;
+
+ @Override
+ @Transactional
+ public R saveOrUpdateBy(TbResGeneralInvestigation entity) {
+
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("\"res_guid\"", entity.getResGuid());
+ queryWrapper.eq("\"tb_year\"", entity.getTbYear());
+// queryWrapper.eq("\"tb_quarter\"",entity.getTbQuarter());
+ TbResGeneralInvestigationState state = tbResGeneralInvestigationStateService.getOne(queryWrapper);
+ if (null == state) {
+ state = new TbResGeneralInvestigationState();
+ state.setResGuid(entity.getResGuid());
+ state.setTbQuarter(entity.getTbQuarter());
+ state.setTbYear(entity.getTbYear());
+ state.setCreateTime(entity.getCreateTime());
+ state.setCreateUser(entity.getCreateUser());
+ } else {
+ if (state.getCheckState() == 1 || state.getCheckState() == 2) {
+ return R.fail(entity.getResName() + "本年度已经普查完成,不能在提交了。");
+ }
+ }
+
+ // 是否普查完成 1是 0否
+ if (entity.getCheckState() != 0) {
+ state.setCheckState(entity.getIsInvCom());
+ } else {
+ state.setCheckState(0);
+ }
+
+ tbResGeneralInvestigationStateService.saveOrUpdate(state);
+
+ entity.setTbStateId(state.getGuid());
+// return R.status(this.saveOrUpdate(entity));
+ this.saveOrUpdate(entity);
+ return R.data(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R saveOrUpdateByBatch(TbResGeneralInvestigationParam tbResGeneralInvestigationParam) {
+ List<TbResGeneralInvestigation> list = tbResGeneralInvestigationParam.getList();
+ TbResGeneralInvestigation entity = list.get(0);
+
+ //查询该水库本年度是否有填报状态记录
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("\"res_guid\"", entity.getResGuid());
+ queryWrapper.eq("\"tb_year\"", entity.getTbYear());
+ TbResGeneralInvestigationState state = tbResGeneralInvestigationStateService.getOne(queryWrapper);
+ if (null == state) {
+ //无填报状态记录则新建
+ state = new TbResGeneralInvestigationState();
+ state.setResGuid(entity.getResGuid());
+ state.setTbQuarter(entity.getTbQuarter());
+ state.setTbYear(entity.getTbYear());
+ state.setCreateTime(entity.getCreateTime());
+ state.setCreateUser(entity.getCreateUser());
+ } else {
+ //查看填报状态,只有0填报中才可以一直填报
+ if (state.getCheckState() == 1 || state.getCheckState() == 2) {
+ return R.fail(entity.getResName() + "本年度已经普查完成,不能在提交了。");
+ }
+ }
+
+ state.setCheckState(tbResGeneralInvestigationParam.getCheckState());
+ tbResGeneralInvestigationStateService.saveOrUpdate(state);
+// //先把数据移除
+// QueryWrapper delete = new QueryWrapper();
+// delete.eq("\"tb_state_id\"",state.getGuid());
+// boolean remove = remove(delete);
+//
+// if (remove){
+//
+// }
+
+ for (int i = 0; i < list.size(); i++) {
+ TbResGeneralInvestigation tbResGeneralInvestigation = list.get(i);
+ //id清空方便批量新增
+// tbResGeneralInvestigation.setGuid("");
+
+ if (tbResGeneralInvestigation.getCreateTime() == null) {
+ tbResGeneralInvestigation.setCreateTime(DateUtil.now());
+ }
+
+ if (tbResGeneralInvestigation.getCreateUser() == null) {
+ tbResGeneralInvestigation.setCreateUser(AuthUtil.getUserId().toString());
+ }
+
+ //设置状态表id
+ tbResGeneralInvestigation.setTbStateId(state.getGuid());
+ }
+ return R.status(saveOrUpdateBatch(list));
+ }
+
+ @Override
+ public StatisticsPie statisticsPie(StatisticsParams statisticsParams) {
+ return baseMapper.statisticsPie(statisticsParams);
+ }
+
+
+ @Override
+ public List<StatisticsBar> statisticsBar(StatisticsParams statisticsParams) {
+ List<StatisticsBar> list = baseMapper.getStatisticsBar(statisticsParams);
+ return list;
+ }
+
+ @Override
+ public List<StatisticsTable> statisticsTable(StatisticsParams statisticsParams) {
+
+ List<StatisticsTable> list = baseMapper.getStatisticsTable(statisticsParams);
+
+ list.forEach(statisticsTable -> {
+ statisticsTable.setUnInvestigationResNum(statisticsTable.getResNum() - statisticsTable.getInvestigationResNum());
+ statisticsTable.setUnInvestigationDykeNum(statisticsTable.getDykeNum() - statisticsTable.getInvestigationDykeNum());
+ });
+
+ return list;
+ }
+
+ @Override
+ public List<String> downZip(IPage<ImageAndVideoVO> page,String type) throws IOException {
+ List<String> urls = new ArrayList<>();
+ List<ImageAndVideoVO> iamgeAndVideoUrls;
+ if (type.equals("1")) {
+ iamgeAndVideoUrls = baseMapper.getIamgeAndVideoUrl(page);
+ }else {
+ iamgeAndVideoUrls = baseMapper.getIamgeAndVideoUrl(null);
+ }
+
+
+
+ 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) {
+// //System.out.println(url1+"ssss");
+//
+// DownloadZipUtils.downloadFile(url1);
+// }
+ //DownloadZipUtils.downloadZip(request, response,1);
+ return urlss;
+ }
+ }
+
+
}
--
Gitblit v1.9.3