yxm
2024-06-27 077da40c09c8760c244340b69f62093de8a6d273
堤防普查图片视频文件压缩导出v20240627
5 files modified
2 files added
102 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbDykeInvestigationController.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbDykeInvestigationMapper.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbDykeInvestigationMapper.xml 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbDykeInvestigationService.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java 36 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/DyketionVO.java 22 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/DyketionallVO.java 16 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbDykeInvestigationController.java
@@ -9,6 +9,7 @@
import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams;
import cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie;
import cn.gistack.sm.sjztmd.vo.AttResBaseGeneralInvestigationVO;
import cn.gistack.sm.sjztmd.vo.DyketionVO;
import cn.gistack.sm.sjztmd.vo.TbDykeInvestigationParam;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -144,6 +145,15 @@
        return  R.data(msg);
    }
    @GetMapping("/downloadZipCopy")
    @ApiOperation(value = "批量导出白蚁普查的图片视频zip文件")
    public R downloadZipCopy()  {
        List<DyketionVO> msg = tbDykeInvestigationService.downloadZipCopy();
        return  R.data(msg);
    }
    @GetMapping("/statisticsPie")
    public R statisticsPie(StatisticsParams statisticsParams){
        StatisticsPie statisticsPie = tbDykeInvestigationService.statisticsPie(statisticsParams);
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbDykeInvestigationMapper.java
@@ -5,6 +5,7 @@
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.DyketionVO;
import cn.gistack.sm.sjztmd.vo.ImageAndVideoVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -32,4 +33,6 @@
    List<StatisticsBar> getStatisticsBar(@Param("params") StatisticsParams statisticsParams);
    List<ImageAndVideoVO> getIamgeAndVideoUrl(IPage<ImageAndVideoVO> page);
    List<DyketionVO> getIamgeAndVideoUrlcopy();
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbDykeInvestigationMapper.xml
@@ -292,4 +292,16 @@
    <select id="getIamgeAndVideoUrl" resultType="cn.gistack.sm.sjztmd.vo.ImageAndVideoVO">
        select "image_urls" as imagesUrl ,"video_urls" as videosUrl from sjzt_md."tb_dyke_investigation"
    </select>
    <select id="getIamgeAndVideoUrlcopy" resultType="cn.gistack.sm.sjztmd.vo.DyketionVO">
            select dyke."tb_year" tbYear, dyke."dyke_name" dname,dyke."image_urls" imagesUrl,dyke."video_urls" videoUrls,LPAD(CAST(ROW_NUMBER() OVER (PARTITION BY dyke."dyke_guid"
    ORDER BY
        dyke."create_time" DESC)AS VARCHAR(3)),3,'0') AS rn,
        ad."ad_name" adname,
        ad."p_ad_name" padname
        from sjzt_md."tb_dyke_investigation" dyke
        left join sjzt_md."tb_dyke_investigation_state" dykes on dyke."dyke_guid" = dykes."dyke_guid"
        left join sjzt_md."tb_res_dyke" tf on dyke."dyke_guid" = tf."guid"
        left join YWXT."att_ad_base" ad on tf."ad_code" =ad."guid"
        where dykes."check_state" = '3'  ;
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbDykeInvestigationService.java
@@ -5,6 +5,7 @@
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.DyketionVO;
import cn.gistack.sm.sjztmd.vo.ImageAndVideoVO;
import cn.gistack.sm.sjztmd.vo.TbDykeInvestigationParam;
import cn.gistack.sm.sjztmd.vo.TbResGeneralInvestigationParam;
@@ -53,4 +54,6 @@
    StatisticsPie statisticsPie(StatisticsParams statisticsParams);
    List<StatisticsBar> statisticsBar(StatisticsParams statisticsParams);
    List<DyketionVO> downloadZipCopy();
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java
@@ -8,9 +8,11 @@
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 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;
@@ -269,4 +271,32 @@
            return urlss;
        }
    @Override
    public List<DyketionVO> downloadZipCopy() {
        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());
            }
            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);
        }
        return iamgeAndVideoUrlcopy;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/DyketionVO.java
New file
@@ -0,0 +1,22 @@
package cn.gistack.sm.sjztmd.vo;
import lombok.Data;
import java.util.List;
@Data
public class DyketionVO {
    private String imagesUrl;//图片url
    private String videosUrl;//视频url
    private String tbYear;//年份
    private String dname;//堤防名称
    private String rn;//顺序
    private String adname;//区县
    private String padname;//市级单位
    private List<DyketionallVO> dyketionallVOS;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/DyketionallVO.java
New file
@@ -0,0 +1,16 @@
package cn.gistack.sm.sjztmd.vo;
import lombok.Data;
@Data
public class DyketionallVO {
    private String url;//下载地址
    private String urlname;//文件名称
}