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;//文件名称 }