|  |  | @ -1,6 +1,5 @@ | 
			
		
	
		
			
				
					|  |  |  | package com.epmet.service.impl; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | import com.alibaba.fastjson.JSON; | 
			
		
	
		
			
				
					|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
			
		
	
		
			
				
					|  |  |  | import com.baomidou.mybatisplus.core.toolkit.IdWorker; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.feignclient.dtos.JiMuPage; | 
			
		
	
	
		
			
				
					|  |  | @ -19,7 +18,6 @@ import com.epmet.commons.tools.exception.EpmetException; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.redis.RedisUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.ConvertUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.EpmetRequestHolder; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.HttpClientManager; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.Result; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.constant.CustomerFunctionConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dao.IcCustomerReportDao; | 
			
		
	
	
		
			
				
					|  |  | @ -44,8 +42,10 @@ import org.springframework.stereotype.Service; | 
			
		
	
		
			
				
					|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
			
		
	
		
			
				
					|  |  |  | import org.springframework.util.MultiValueMap; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | import java.net.InetAddress; | 
			
		
	
		
			
				
					|  |  |  | import java.util.*; | 
			
		
	
		
			
				
					|  |  |  | import java.util.ArrayList; | 
			
		
	
		
			
				
					|  |  |  | import java.util.Arrays; | 
			
		
	
		
			
				
					|  |  |  | import java.util.List; | 
			
		
	
		
			
				
					|  |  |  | import java.util.Map; | 
			
		
	
		
			
				
					|  |  |  | import java.util.stream.Collectors; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | /** | 
			
		
	
	
		
			
				
					|  |  | @ -87,28 +87,19 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerRepor | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public List<ReportResultDTO> reportList() { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         String authorization = EpmetRequestHolder.getHeader("Authorization"); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         // 自定义header传递
 | 
			
		
	
		
			
				
					|  |  |  |         MultiValueMap<String, String> headers = new HttpHeaders(); | 
			
		
	
		
			
				
					|  |  |  |         headers.add("token", authorization); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         JiMuResult<JiMuPage<JiMuReportDetailResultDTO>> result = jiMuReportOpenFeignClient.getList(1, 10000, "", "datainfo", authorization, headers); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         // todo 下面的删掉吧
 | 
			
		
	
		
			
				
					|  |  |  |         Result<String> url = getUrl(2, null); | 
			
		
	
		
			
				
					|  |  |  |         log.info("所有jm报表"+url); | 
			
		
	
		
			
				
					|  |  |  |         Map<String,Object> map = JSON.parseObject(url.getData(), Map.class); | 
			
		
	
		
			
				
					|  |  |  |         if (!map.containsValue(true)){ | 
			
		
	
		
			
				
					|  |  |  |         if (!result.isSuccess()){ | 
			
		
	
		
			
				
					|  |  |  |             throw new EpmetException("获取所有jm报表失败"); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         Map<String,Object> map2 = (Map<String,Object>)map.get("result"); | 
			
		
	
		
			
				
					|  |  |  |         List<Map<String,Object>> map3 = (List<Map<String,Object>>) map2.get("records"); | 
			
		
	
		
			
				
					|  |  |  |         List<Map<String,Object>> records = (List<Map<String,Object>>)result.getResult().getRecords(); | 
			
		
	
		
			
				
					|  |  |  |         List<JiMuReportResultDTO> allReports = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |         map3.forEach(m -> { | 
			
		
	
		
			
				
					|  |  |  |             allReports.add(ConvertUtils.mapToEntity(m,JiMuReportResultDTO.class)); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |         for (Map<String, Object> record : records) { | 
			
		
	
		
			
				
					|  |  |  |             allReports.add(ConvertUtils.mapToEntity(record,JiMuReportResultDTO.class)); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         if (CollectionUtils.isEmpty(allReports)){ | 
			
		
	
		
			
				
					|  |  |  |             return new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
	
		
			
				
					|  |  | @ -174,11 +165,13 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerRepor | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         if (formDTO.getType().equals(CustomerFunctionConstant.REPORT_EDIT)){ | 
			
		
	
		
			
				
					|  |  |  |             // 单个编辑
 | 
			
		
	
		
			
				
					|  |  |  |             baseDao.delCustomerReport(Arrays.asList(formDTO.getCustomerList().get(NumConstant.ZERO).getCustomerId())); | 
			
		
	
		
			
				
					|  |  |  |             baseDao.delCustomerReport(Arrays.asList(formDTO.getCustomerList().get(NumConstant.ZERO).getCustomerId()), formDTO.getReportId()); | 
			
		
	
		
			
				
					|  |  |  |         }else if (formDTO.getType().equals(CustomerFunctionConstant.REPORT_ADD)){ | 
			
		
	
		
			
				
					|  |  |  |             baseDao.delCustomerReport(null); | 
			
		
	
		
			
				
					|  |  |  |             baseDao.delCustomerReport(null, formDTO.getReportId()); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         if (CollectionUtils.isNotEmpty(reportIds)){ | 
			
		
	
		
			
				
					|  |  |  |             baseDao.delCustomerReportFun(reportIds); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         baseDao.delCustomerReportFun(reportIds); | 
			
		
	
		
			
				
					|  |  |  |         if (CollectionUtils.isNotEmpty(formDTO.getCustomerList())){ | 
			
		
	
		
			
				
					|  |  |  |             List<IcCustomerReportEntity> entities = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |             List<IcReportFunEntity> funEntities = new ArrayList<>(); | 
			
		
	
	
		
			
				
					|  |  | @ -218,14 +211,16 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerRepor | 
			
		
	
		
			
				
					|  |  |  |         recordIds.forEach(r -> { | 
			
		
	
		
			
				
					|  |  |  |             JiMuReportFormDTO form = new JiMuReportFormDTO(); | 
			
		
	
		
			
				
					|  |  |  |             form.setId(r); | 
			
		
	
		
			
				
					|  |  |  |             Result<String> url = getUrl(NumConstant.ONE, r); | 
			
		
	
		
			
				
					|  |  |  |             log.info("模板详情"+url); | 
			
		
	
		
			
				
					|  |  |  |             Map<String,Object> map = JSON.parseObject(url.getData(), Map.class); | 
			
		
	
		
			
				
					|  |  |  |             if (!map.containsValue(true)){ | 
			
		
	
		
			
				
					|  |  |  |             String authorization = EpmetRequestHolder.getHeader("Authorization"); | 
			
		
	
		
			
				
					|  |  |  |             // 自定义header传递
 | 
			
		
	
		
			
				
					|  |  |  |             MultiValueMap<String, String> headers = new HttpHeaders(); | 
			
		
	
		
			
				
					|  |  |  |             headers.add("token", authorization); | 
			
		
	
		
			
				
					|  |  |  |             headers.add("Authorization", authorization); | 
			
		
	
		
			
				
					|  |  |  |             JiMuResult<Map<String, Object>> report = jiMuReportOpenFeignClient.getReport(r,"","",headers); | 
			
		
	
		
			
				
					|  |  |  |             if (!report.isSuccess()){ | 
			
		
	
		
			
				
					|  |  |  |                 throw new EpmetException("获取jm报表详情失败:"+r); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |             Map<String,Object> map2 = (Map<String,Object>)map.get("result"); | 
			
		
	
		
			
				
					|  |  |  |             JiMuReportResultDTO data = ConvertUtils.mapToEntity(map2, JiMuReportResultDTO.class); | 
			
		
	
		
			
				
					|  |  |  |             JiMuReportResultDTO data = ConvertUtils.mapToEntity(report.getResult(), JiMuReportResultDTO.class); | 
			
		
	
		
			
				
					|  |  |  |             data.setReportId(data.getId()); | 
			
		
	
		
			
				
					|  |  |  |             data.setReportName(data.getName()); | 
			
		
	
		
			
				
					|  |  |  |             result.add(data); | 
			
		
	
	
		
			
				
					|  |  | @ -243,50 +238,4 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerRepor | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * Desc: | 
			
		
	
		
			
				
					|  |  |  |      * @param type 1:代表根据ID查询;2查询全部 | 
			
		
	
		
			
				
					|  |  |  |      * @author zxc | 
			
		
	
		
			
				
					|  |  |  |      * @date 2022/8/9 10:14 | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     public Result<String> getUrl(Integer type,String id) { | 
			
		
	
		
			
				
					|  |  |  |         String add = ""; | 
			
		
	
		
			
				
					|  |  |  |         Result<String> result; | 
			
		
	
		
			
				
					|  |  |  |         try { | 
			
		
	
		
			
				
					|  |  |  |             InetAddress localHost = InetAddress.getLocalHost(); | 
			
		
	
		
			
				
					|  |  |  |             add = "http://"+localHost.getHostAddress()+":8118"; | 
			
		
	
		
			
				
					|  |  |  |             System.out.println(add); | 
			
		
	
		
			
				
					|  |  |  |         }catch (Exception e){ | 
			
		
	
		
			
				
					|  |  |  |             log.warn("获取url失败"); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         if (type.compareTo(NumConstant.TWO) == NumConstant.ZERO){ | 
			
		
	
		
			
				
					|  |  |  |             add = add.concat("/jmreport/excelQuery"); | 
			
		
	
		
			
				
					|  |  |  |             Map<String,Object> params = new HashMap<>(16); | 
			
		
	
		
			
				
					|  |  |  |             params.put("pageNo",1); | 
			
		
	
		
			
				
					|  |  |  |             params.put("pageSize",10000); | 
			
		
	
		
			
				
					|  |  |  |             params.put("reportType","datainfo"); | 
			
		
	
		
			
				
					|  |  |  |             params.put("name",""); | 
			
		
	
		
			
				
					|  |  |  |             params.put("token", EpmetRequestHolder.getHeader("Authorization")); | 
			
		
	
		
			
				
					|  |  |  |             Map<String,Object> headers = new HashMap<>(16); | 
			
		
	
		
			
				
					|  |  |  |             headers.put("token", EpmetRequestHolder.getHeader("Authorization")); | 
			
		
	
		
			
				
					|  |  |  |             headers.put("X-Access-Token", EpmetRequestHolder.getHeader("Authorization")); | 
			
		
	
		
			
				
					|  |  |  |             headers.put("Accept", "application/json, text/plain, */*"); | 
			
		
	
		
			
				
					|  |  |  |             headers.put("Content-Type", "application/json;charset=utf-8"); | 
			
		
	
		
			
				
					|  |  |  |             result = HttpClientManager.getInstance().sendGet(add, params, headers); | 
			
		
	
		
			
				
					|  |  |  |         }else { | 
			
		
	
		
			
				
					|  |  |  |             add = add.concat("/jmreport/show"); | 
			
		
	
		
			
				
					|  |  |  |             Map<String,Object> params = new HashMap<>(16); | 
			
		
	
		
			
				
					|  |  |  |             params.put("id",id); | 
			
		
	
		
			
				
					|  |  |  |             params.put("apiUrl",""); | 
			
		
	
		
			
				
					|  |  |  |             params.put("params",""); | 
			
		
	
		
			
				
					|  |  |  |             Map<String,String> headers = new HashMap<>(16); | 
			
		
	
		
			
				
					|  |  |  |             headers.put("token", EpmetRequestHolder.getHeader("Authorization")); | 
			
		
	
		
			
				
					|  |  |  |             headers.put("X-Access-Token", EpmetRequestHolder.getHeader("Authorization")); | 
			
		
	
		
			
				
					|  |  |  |             headers.put("Accept", "application/json, text/plain, */*"); | 
			
		
	
		
			
				
					|  |  |  |             headers.put("Content-Type", "application/json;charset=utf-8"); | 
			
		
	
		
			
				
					|  |  |  |             result = HttpClientManager.getInstance().sendPostByJSONAndHeader(add, JSON.toJSONString(params), headers); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         return result; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | } |