skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbResGeneralInvestigationController.java
@@ -11,6 +11,7 @@ import cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable; import cn.gistack.sm.sjztmd.vo.AttResBaseGeneralInvestigationVO; import cn.gistack.sm.sjztmd.vo.ResGentionVO; import cn.gistack.sm.sjztmd.vo.TbResGeneralInvestigationParam; import cn.gistack.sm.sjztmd.wrapper.AttResBaseWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -146,6 +147,15 @@ } @GetMapping("/downloadZipCopy") @ApiOperation(value = "批量导出白蚁普查的图片视频zip文件") public R downloadZipCopy() throws IOException { List<ResGentionVO> msg = tbResGeneralInvestigationService.downZipCopy(); return R.data(msg); } @GetMapping("/statisticsPie") public R statisticsPie(StatisticsParams statisticsParams){ skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.java
@@ -7,6 +7,7 @@ import cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable; import cn.gistack.sm.sjztmd.vo.ImageAndVideoVO; import cn.gistack.sm.sjztmd.vo.ResGentionVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; @@ -41,4 +42,5 @@ List<ImageAndVideoVO> getIamgeAndVideoUrl(IPage<ImageAndVideoVO> page); List<ResGentionVO> getIamgeAndVideoUrlcopy(); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml
@@ -570,7 +570,30 @@ </select> <select id="getIamgeAndVideoUrl" resultType="cn.gistack.sm.sjztmd.vo.ImageAndVideoVO"> select "image_urls" as imagesUrl ,"video_urls" as videosUrl from sjzt_md."tb_res_general_investigation" select "res_name","image_urls" as imagesUrl ,"video_urls" as videosUrl from sjzt_md."tb_res_general_investigation" </select> <select id="getIamgeAndVideoUrlcopy" resultType="cn.gistack.sm.sjztmd.vo.ResGentionVO"> select resgi."res_name" resname,resgi."part_place" ppname ,regis."tb_year" years,LPAD(CAST(ROW_NUMBER() OVER (PARTITION BY regis."res_guid" ORDER BY regis."create_time" DESC)AS VARCHAR(3)),3,'0') AS rn,resgi."image_urls" imagesUrls,resgi."video_urls" videoUrls, CASE WHEN town."ad_grad" = '3' THEN town."ad_name" WHEN county."ad_grad" = '3' THEN county."ad_name" END AS countyName, CASE WHEN town."ad_grad" = '2' THEN town."ad_name" WHEN county."ad_grad" = '2' THEN county."ad_name" ELSE city."ad_name" END AS cityName from SJZT_MD."tb_res_general_investigation" resgi left join SJZT_MD."tb_res_general_investigation_state" regis on resgi."res_guid" = regis."res_guid" left join SJZT_MD."att_res_base" a on resgi."res_guid" = a."code" left join ywxt."att_ad_base" town ON town."guid" = a."interior_ad_guid" left join ywxt."att_ad_base" county ON town."p_ad_code" = county."ad_code" left join ywxt."att_ad_base" city ON county."p_ad_code" = city."ad_code" left join ywxt."att_ad_base" province ON city."p_ad_code" = province."ad_code" where regis."check_state" ='3' </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbResGeneralInvestigationService.java
@@ -7,6 +7,7 @@ import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable; import cn.gistack.sm.sjztmd.vo.AttResBaseGeneralInvestigationVO; import cn.gistack.sm.sjztmd.vo.ImageAndVideoVO; import cn.gistack.sm.sjztmd.vo.ResGentionVO; import cn.gistack.sm.sjztmd.vo.TbResGeneralInvestigationParam; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -48,4 +49,6 @@ List<StatisticsTable> statisticsTable(StatisticsParams statisticsParams); List<String> downZip(IPage<ImageAndVideoVO> page,String type) throws IOException; List<ResGentionVO> downZipCopy(); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
@@ -12,9 +12,7 @@ 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 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; @@ -207,5 +205,33 @@ } } @Override public List<ResGentionVO> downZipCopy() { List<ResGentionVO> iamgeAndVideoUrlcopy = baseMapper.getIamgeAndVideoUrlcopy(); for (ResGentionVO resGentionVO : iamgeAndVideoUrlcopy) { List<String> urls = new ArrayList<>(); List<DyketionallVO> dyketionallVOS = new ArrayList<>(); if(resGentionVO.getImagesUrls() != null){ urls.add(resGentionVO.getImagesUrls()); } if(resGentionVO.getVideoUrls() != null) { urls.add(resGentionVO.getVideoUrls()); } List<String> urlss = DownloadZipUtils.getUrls(urls); int counter=1; for (String s : urlss) { DyketionallVO dyketionallVO = new DyketionallVO(); dyketionallVO.setUrlname(resGentionVO.getResname()+"+"+resGentionVO.getPpname()+"+"+resGentionVO.getRn()+String.format("%02d", counter)+s.substring(s.length() - 4)); dyketionallVO.setUrl(s); dyketionallVOS.add(dyketionallVO); } resGentionVO.setDyketionallVOS(dyketionallVOS); } return iamgeAndVideoUrlcopy; } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/ResGentionVO.java
New file @@ -0,0 +1,21 @@ package cn.gistack.sm.sjztmd.vo; import lombok.Data; import java.util.List; @Data public class ResGentionVO { private String resname; private String ppname;//部位名称 private String years; //年份 private String rn;//顺序 private String imagesUrls; private String videoUrls; private String countyName; private String cityName; private List<DyketionallVO> dyketionallVOS; }