| | |
| | | package cn.gistack.sm.sjztmd.service.impl; |
| | | |
| | | import cn.gistack.sm.sjztmd.mapper.AttResBaseMapper; |
| | | 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.vo.TbResGeneralInvestigationParam; |
| | | 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.*; |
| | | 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; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @PROJECT_NAME: skjcmanager |
| | |
| | | @Autowired |
| | | private ITbResGeneralInvestigationStateService tbResGeneralInvestigationStateService; |
| | | |
| | | @Autowired |
| | | private AttResBaseMapper attResBaseMapper; |
| | | |
| | | @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("\"res_guid\"", entity.getResGuid()); |
| | | queryWrapper.eq("\"tb_year\"", entity.getTbYear()); |
| | | // queryWrapper.eq("\"tb_quarter\"",entity.getTbQuarter()); |
| | | TbResGeneralInvestigationState state = tbResGeneralInvestigationStateService.getOne(queryWrapper); |
| | | if (null == state) { |
| | |
| | | // 是否普查完成 1是 0否 |
| | | if (entity.getCheckState() != 0) { |
| | | state.setCheckState(entity.getIsInvCom()); |
| | | }else{ |
| | | } else { |
| | | state.setCheckState(0); |
| | | } |
| | | |
| | | tbResGeneralInvestigationStateService.saveOrUpdate(state); |
| | | |
| | | entity.setTbStateId(state.getGuid()); |
| | | return R.status(this.saveOrUpdate(entity)); |
| | | // return R.status(this.saveOrUpdate(entity)); |
| | | this.saveOrUpdate(entity); |
| | | return R.data(entity); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | //查询该水库本年度是否有填报状态记录 |
| | | QueryWrapper queryWrapper = new QueryWrapper(); |
| | | queryWrapper.eq("\"res_guid\"",entity.getResGuid()); |
| | | queryWrapper.eq("\"tb_year\"",entity.getTbYear()); |
| | | queryWrapper.eq("\"res_guid\"", entity.getResGuid()); |
| | | queryWrapper.eq("\"tb_year\"", entity.getTbYear()); |
| | | TbResGeneralInvestigationState state = tbResGeneralInvestigationStateService.getOne(queryWrapper); |
| | | if (null == state) { |
| | | //无填报状态记录则新建 |
| | |
| | | //id清空方便批量新增 |
| | | // tbResGeneralInvestigation.setGuid(""); |
| | | |
| | | if (tbResGeneralInvestigation.getCreateTime() == null){ |
| | | if (tbResGeneralInvestigation.getCreateTime() == null) { |
| | | tbResGeneralInvestigation.setCreateTime(DateUtil.now()); |
| | | } |
| | | |
| | | if (tbResGeneralInvestigation.getCreateUser() == null){ |
| | | if (tbResGeneralInvestigation.getCreateUser() == null) { |
| | | tbResGeneralInvestigation.setCreateUser(AuthUtil.getUserId().toString()); |
| | | } |
| | | |
| | |
| | | } |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<ResGentionVO> downZipCopy(IPage<AttResBaseGeneralInvestigationVO> page,String type,AttResBaseGeneralInvestigationVO attResBase) { |
| | | //获取已审批的数据 |
| | | 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()); |
| | | } |
| | | //解析json中url 放入list集合中 |
| | | 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); |
| | | } |
| | | //分页情况下 |
| | | if(type.equals("1")){ |
| | | //获取分页信息 |
| | | // AttResBaseGeneralInvestigationVO attResBaseGeneralInvestigationVO = new AttResBaseGeneralInvestigationVO(); |
| | | // attResBaseGeneralInvestigationVO.setTbYear(2024); |
| | | List<AttResBaseGeneralInvestigationVO> attResBaseGeneralInvestigationVOS = attResBaseMapper.selectAttResBaseGeneralInvestigation(page, attResBase); |
| | | |
| | | List<String> resCode = new ArrayList<>(); |
| | | for (AttResBaseGeneralInvestigationVO imageAndVideoVO : attResBaseGeneralInvestigationVOS) { |
| | | resCode.add(imageAndVideoVO.getCode()); |
| | | } |
| | | List<ResGentionVO> iamgeAndVideoUrls = iamgeAndVideoUrlcopy.stream() |
| | | .filter(resGentionVO -> resCode.contains(resGentionVO.getCode())) |
| | | .collect(Collectors.toList()); |
| | | |
| | | return iamgeAndVideoUrls; |
| | | } |
| | | |
| | | return iamgeAndVideoUrlcopy; |
| | | } |
| | | |
| | | |
| | | } |