Browse Source

Merge remote-tracking branch 'origin/dev_jmreport' into dev_jmreport

# Conflicts:
#	epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcCustomerReportController.java
#	epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcCustomerReportService.java
#	epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java
master
yinzuomei 3 years ago
parent
commit
353a5e45a6
  1. 14
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/JiMuReportOpenFeignClient.java
  2. 11
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/fallback/JiMuReportOpenFeignClientFallback.java
  3. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java
  4. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/DictListFormDTO.java
  5. 84
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/ReportResultDTO.java
  6. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/CustomerFunctionConstant.java
  7. 13
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcCustomerReportController.java
  8. 13
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcCustomerReportDao.java
  9. 10
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcCustomerReportService.java
  10. 58
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java
  11. 11
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcCustomerReportDao.xml

14
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/JiMuReportOpenFeignClient.java

@ -0,0 +1,14 @@
package com.epmet.commons.feignclient.feigns;
import com.epmet.commons.feignclient.feigns.fallback.JiMuReportOpenFeignClientFallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import org.springframework.cloud.openfeign.FeignClient;
/**
* @Author zxc
* @DateTime 2022/8/8 13:52
* @DESC
*/
@FeignClient(name = ServiceConstant.EPMET_JM_REPORT, fallbackFactory = JiMuReportOpenFeignClientFallback.class)
public interface JiMuReportOpenFeignClient {
}

11
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/fallback/JiMuReportOpenFeignClientFallback.java

@ -0,0 +1,11 @@
package com.epmet.commons.feignclient.feigns.fallback;
import com.epmet.commons.feignclient.feigns.JiMuReportOpenFeignClient;
/**
* @Author zxc
* @DateTime 2022/8/8 13:53
* @DESC
*/
public class JiMuReportOpenFeignClientFallback implements JiMuReportOpenFeignClient {
}

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java

@ -143,4 +143,9 @@ public interface ServiceConstant {
* 聚合查询服务
*/
String DATA_AGGREGATOR_SERVER = "data-aggregator-server";
/**
*
*/
String EPMET_JM_REPORT = "epmet-jmreport-server";
}

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/DictListFormDTO.java

@ -1,6 +1,8 @@
package com.epmet.commons.tools.dto.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
@ -9,6 +11,8 @@ import javax.validation.constraints.NotBlank;
* @Author sun
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DictListFormDTO {
/**

84
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/ReportResultDTO.java

@ -0,0 +1,84 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/8/8 10:29
* @DESC
*/
@Data
public class ReportResultDTO implements Serializable {
private static final long serialVersionUID = -5798816843431200300L;
/**
* 报表名字
*/
private String reportName;
/**
* 报表ID
*/
private String reportId;
/**
* 客户ID
*/
@JsonIgnore
private String customerId;
/**
* 客户名字
*/
@JsonIgnore
private String customerName;
/**
* 分类名字
*/
@JsonIgnore
private String categoryName;
/**
* 分类key
*/
@JsonIgnore
private String categoryKey;
/**
* 客户信息集合
*/
private List<CustomerList> customerList;
@Data
public static class CustomerList implements Serializable{
private static final long serialVersionUID = 7146198312265513418L;
/**
* 客户ID
*/
private String customerId;
/**
* 客户名字
*/
private String customerName;
/**
* 分类名字
*/
private String categoryName;
/**
* 分类key
*/
private String categoryKey;
}
}

2
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/CustomerFunctionConstant.java

@ -23,5 +23,7 @@ public interface CustomerFunctionConstant {
*/
String PARAMETER_EXCEPTION = "请至少勾选一条默认功能或定制功能数据";
String REPORT_CATEGORY = "jmreport_category";
}

13
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcCustomerReportController.java

@ -11,12 +11,14 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IcCustomerReportDTO;
import com.epmet.dto.result.ReportResultDTO;
import com.epmet.dto.form.PreviewReportFormDTO;
import com.epmet.dto.result.PreviewReportResDTO;
import com.epmet.service.IcCustomerReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@ -71,6 +73,17 @@ public class IcCustomerReportController {
return new Result();
}
/**
* Desc: 报表集合
* @param
* @author zxc
* @date 2022/8/8 10:38
*/
@PostMapping("list")
public Result<List<ReportResultDTO>> reportList(){
return new Result<List<ReportResultDTO>>().ok(icCustomerReportService.reportList());
}
/**
* 在居民信息或者房屋信息等页面点击填表存储入参到redis,返给前端key

13
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcCustomerReportDao.java

@ -1,9 +1,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ReportResultDTO;
import com.epmet.entity.IcCustomerReportEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 客户报表关系表
*
@ -12,5 +15,13 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcCustomerReportDao extends BaseDao<IcCustomerReportEntity> {
/**
* Desc: 报表集合
* @param
* @author zxc
* @date 2022/8/8 10:38
*/
List<ReportResultDTO> reportList();
}

10
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcCustomerReportService.java

@ -3,8 +3,6 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcCustomerReportDTO;
import com.epmet.dto.form.PreviewReportFormDTO;
import com.epmet.dto.result.PreviewReportResDTO;
import com.epmet.entity.IcCustomerReportEntity;
import java.util.List;
@ -78,6 +76,14 @@ public interface IcCustomerReportService extends BaseService<IcCustomerReportEnt
*/
void delete(String[] ids);
/**
* Desc: 报表集合
* @param
* @author zxc
* @date 2022/8/8 10:38
*/
List<ReportResultDTO> reportList();
/**
* 在居民信息或者房屋信息等页面点击填表存储入参到redis,返给前端key
* @param formDTO

58
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java

@ -4,24 +4,37 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.form.DictListFormDTO;
import com.epmet.commons.tools.dto.result.DictListResultDTO;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerFunctionConstant;
import com.epmet.dao.IcCustomerReportDao;
import com.epmet.dto.CustomerDTO;
import com.epmet.dto.IcCustomerReportDTO;
import com.epmet.dto.result.ReportResultDTO;
import com.epmet.dto.form.PreviewReportFormDTO;
import com.epmet.dto.result.PreviewReportResDTO;
import com.epmet.entity.IcCustomerReportEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.OperCrmOpenFeignClient;
import com.epmet.service.IcCustomerReportService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 客户报表关系表
@ -33,6 +46,12 @@ import java.util.Map;
public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerReportDao, IcCustomerReportEntity> implements IcCustomerReportService {
@Autowired
private RedisUtils redisUtils;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Autowired
private OperCrmOpenFeignClient operCrmOpenFeignClient;
@Override
public PageData<IcCustomerReportDTO> page(Map<String, Object> params) {
IPage<IcCustomerReportEntity> page = baseDao.selectPage(
@ -85,6 +104,45 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerRepor
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* Desc: 报表集合
* @param
* @author zxc
* @date 2022/8/8 10:38
*/
@Override
public List<ReportResultDTO> reportList() {
List<ReportResultDTO> reportList = baseDao.reportList();
if (CollectionUtils.isEmpty(reportList)){
return new ArrayList<>();
}
Result<List<DictListResultDTO>> dictList = adminOpenFeignClient.dictList(new DictListFormDTO(CustomerFunctionConstant.REPORT_CATEGORY));
if (!dictList.success()){
throw new EpmetException("查询字典信息失败:" + CustomerFunctionConstant.REPORT_CATEGORY);
}
if (CollectionUtils.isNotEmpty(dictList.getData())){
dictList.getData().forEach(d -> reportList.stream().filter(r -> d.getValue().equals(r.getCategoryKey())).forEach(r -> r.setCategoryName(d.getLabel())));
}
Result<List<CustomerDTO>> allCustomerList = operCrmOpenFeignClient.getAllCustomerList();
if (!allCustomerList.success()){
throw new EpmetException("获取客户信息失败...");
}
if (CollectionUtils.isNotEmpty(allCustomerList.getData())){
allCustomerList.getData().forEach(c -> reportList.stream().filter(r -> c.getId().equals(r.getCustomerId())).forEach(r -> r.setCustomerName(c.getCustomerName())));
}
// todo 报表
List<ReportResultDTO> result = new ArrayList<>();
Map<String, List<ReportResultDTO>> groupByReport = reportList.stream().collect(Collectors.groupingBy(ReportResultDTO::getReportId));
groupByReport.forEach((reportId,l) -> {
ReportResultDTO dto = new ReportResultDTO();
dto.setReportId(reportId);
dto.setReportName(l.get(NumConstant.ZERO).getReportName());
dto.setCustomerList(ConvertUtils.sourceToTarget(l, ReportResultDTO.CustomerList.class));
result.add(dto);
});
return result;
}
/**
* 在居民信息或者房屋信息等页面点击填表存储入参到redis,返给前端key
*

11
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcCustomerReportDao.xml

@ -3,4 +3,15 @@
<mapper namespace="com.epmet.dao.IcCustomerReportDao">
<!-- 报表集合 -->
<select id="reportList" resultType="com.epmet.dto.result.ReportResultDTO">
SELECT
cr.REPORT_ID,
cr.CUSTOMER_ID,
rf.FUN_CATEGORY_KEY AS categoryKey
FROM ic_customer_report cr
INNER JOIN ic_report_fun rf ON rf.CUSTOMER_REPORT_ID = cr.REPORT_ID AND rf.DEL_FLAG = 0
WHERE cr.DEL_FLAG = 0
ORDER BY cr.CREATED_TIME DESC
</select>
</mapper>
Loading…
Cancel
Save