Browse Source

Merge branch 'dev_jmreport' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_jmreport

master
wangxianzhang 3 years ago
parent
commit
3cdb180a7d
  1. 5
      epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.22__jmreport_category.sql
  2. 14
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/JiMuReportOpenFeignClient.java
  3. 11
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/fallback/JiMuReportOpenFeignClientFallback.java
  4. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java
  5. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/DictListFormDTO.java
  6. 29
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/PreviewReportFormDTO.java
  7. 33
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/ReportEditFormDTO.java
  8. 18
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/PreviewReportResDTO.java
  9. 84
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/ReportResultDTO.java
  10. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/CustomerFunctionConstant.java
  11. 81
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcCustomerReportController.java
  12. 11
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcCustomerReportDao.java
  13. 70
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcCustomerReportService.java
  14. 117
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java
  15. 11
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcCustomerReportDao.xml

5
epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.22__jmreport_category.sql

@ -0,0 +1,5 @@
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1556509011061993473', 'jmreport_category', '报表应用类别', '居民信息、房屋信息', 32, 0, 0, '1', '2022-08-08 13:14:01', '1', '2022-08-08 13:14:01');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1556509175185108994', 1556509011061993473, '房屋信息', 'house_info', '0', '', 2, 0, 0, '1', '2022-08-08 13:14:41', '1', '2022-08-08 13:14:41');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1556509102015475714', 1556509011061993473, '居民信息', 'resi_info', '0', '', 1, 0, 0, '1', '2022-08-08 13:14:23', '1', '2022-08-08 13:14:23');

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

29
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/PreviewReportFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
/**
* @Description
* @Author yzm
* @Date 2022/8/8 13:31
*/
@Data
public class PreviewReportFormDTO {
public interface AddUserInternalGroup {
}
@NotBlank(message = "reportId不能为空", groups = AddUserInternalGroup.class)
private String reportId;
@NotBlank(message = "categoryKey不能为空", groups = AddUserInternalGroup.class)
private String categoryKey;
private Map<String, Object> paramMap;
@NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class)
private String customerId;
@NotBlank(message = "staffId不能为空", groups = AddUserInternalGroup.class)
private String staffId;
}

33
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/ReportEditFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/8/8 14:04
* @DESC
*/
@Data
public class ReportEditFormDTO implements Serializable {
private static final long serialVersionUID = -2157859106926125470L;
public interface ReportEditForm{}
/**
* 操作类型批量操作add单个编辑edit
*/
@NotBlank(message = "type不能为空", groups = ReportEditForm.class)
private String type;
@NotBlank(message = "reportId不能为空", groups = ReportEditForm.class)
private String reportId;
private List<String> customerIds;
private List<String> categoryKeys;
}

18
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/PreviewReportResDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto.result;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2022/8/8 13:37
*/
@Data
public class PreviewReportResDTO {
private String reportId;
/**
* rediskey格式customerId:reportId:resiinfo:staffId
*/
private String paramKey;
}

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 PARAMETER_EXCEPTION = "请至少勾选一条默认功能或定制功能数据";
String REPORT_CATEGORY = "jmreport_category";
} }

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

@ -1,19 +1,21 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.dto.form.PreviewReportFormDTO;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.form.ReportEditFormDTO;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.result.PreviewReportResDTO;
import com.epmet.dto.IcCustomerReportDTO; import com.epmet.dto.result.ReportResultDTO;
import com.epmet.service.IcCustomerReportService; import com.epmet.service.IcCustomerReportService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map; import java.util.List;
/** /**
@ -29,41 +31,42 @@ public class IcCustomerReportController {
@Autowired @Autowired
private IcCustomerReportService icCustomerReportService; private IcCustomerReportService icCustomerReportService;
@RequestMapping("page")
public Result<PageData<IcCustomerReportDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcCustomerReportDTO> page = icCustomerReportService.page(params);
return new Result<PageData<IcCustomerReportDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) /**
public Result<IcCustomerReportDTO> get(@PathVariable("id") String id){ * Desc: 报表集合
IcCustomerReportDTO data = icCustomerReportService.get(id); * @param
return new Result<IcCustomerReportDTO>().ok(data); * @author zxc
* @date 2022/8/8 10:38
*/
@PostMapping("list")
public Result<List<ReportResultDTO>> reportList(){
return new Result<List<ReportResultDTO>>().ok(icCustomerReportService.reportList());
} }
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcCustomerReportDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icCustomerReportService.save(dto);
return new Result();
}
@NoRepeatSubmit /**
@PostMapping("update") * 在居民信息或者房屋信息等页面点击填表存储入参到redis,返给前端key
public Result update(@RequestBody IcCustomerReportDTO dto){ * @param tokenDto
//效验数据 * @param formDTO
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); * @return
icCustomerReportService.update(dto); */
return new Result(); @PostMapping("preview")
public Result<PreviewReportResDTO> previewReport(@LoginUser TokenDto tokenDto, @RequestBody PreviewReportFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO, PreviewReportFormDTO.AddUserInternalGroup.class);
return new Result<PreviewReportResDTO>().ok(icCustomerReportService.previewReport(formDTO));
} }
/**
@PostMapping("delete") * Desc: 报表编辑
public Result delete(@RequestBody String[] ids){ * @param formDTO
//效验数据 * @author zxc
AssertUtils.isArrayEmpty(ids, "id"); * @date 2022/8/8 14:09
icCustomerReportService.delete(ids); */
@PostMapping("edit")
public Result reportEdit(@RequestBody ReportEditFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, ReportEditFormDTO.ReportEditForm.class);
icCustomerReportService.reportEdit(formDTO);
return new Result(); return new Result();
} }

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

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

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

@ -1,12 +1,15 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.form.PreviewReportFormDTO;
import com.epmet.dto.result.PreviewReportResDTO;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcCustomerReportDTO; import com.epmet.dto.IcCustomerReportDTO;
import com.epmet.dto.form.ReportEditFormDTO;
import com.epmet.dto.result.ReportResultDTO;
import com.epmet.entity.IcCustomerReportEntity; import com.epmet.entity.IcCustomerReportEntity;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 客户报表关系表 * 客户报表关系表
@ -17,62 +20,25 @@ import java.util.Map;
public interface IcCustomerReportService extends BaseService<IcCustomerReportEntity> { public interface IcCustomerReportService extends BaseService<IcCustomerReportEntity> {
/** /**
* 默认分页 * Desc: 报表集合
* * @param
* @param params * @author zxc
* @return PageData<IcCustomerReportDTO> * @date 2022/8/8 10:38
* @author generator
* @date 2022-08-08
*/
PageData<IcCustomerReportDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcCustomerReportDTO>
* @author generator
* @date 2022-08-08
*/ */
List<IcCustomerReportDTO> list(Map<String, Object> params); List<ReportResultDTO> reportList();
/** /**
* 单条查询 * 在居民信息或者房屋信息等页面点击填表存储入参到redis,返给前端key
* * @param formDTO
* @param id * @return
* @return IcCustomerReportDTO
* @author generator
* @date 2022-08-08
*/ */
IcCustomerReportDTO get(String id); PreviewReportResDTO previewReport(PreviewReportFormDTO formDTO);
/** /**
* 默认保存 * Desc: 报表编辑
* * @param formDTO
* @param dto * @author zxc
* @return void * @date 2022/8/8 14:09
* @author generator
* @date 2022-08-08
*/
void save(IcCustomerReportDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-08-08
*/
void update(IcCustomerReportDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-08-08
*/ */
void delete(String[] ids); void reportEdit(ReportEditFormDTO formDTO);
} }

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

@ -1,22 +1,37 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
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.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils; 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.dao.IcCustomerReportDao;
import com.epmet.dto.CustomerDTO;
import com.epmet.dto.form.PreviewReportFormDTO;
import com.epmet.dto.result.PreviewReportResDTO;
import com.epmet.dto.IcCustomerReportDTO; import com.epmet.dto.IcCustomerReportDTO;
import com.epmet.dto.form.ReportEditFormDTO;
import com.epmet.dto.result.ReportResultDTO;
import com.epmet.entity.IcCustomerReportEntity; import com.epmet.entity.IcCustomerReportEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.OperCrmOpenFeignClient;
import com.epmet.service.IcCustomerReportService; import com.epmet.service.IcCustomerReportService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 客户报表关系表 * 客户报表关系表
@ -26,22 +41,14 @@ import java.util.Map;
*/ */
@Service @Service
public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerReportDao, IcCustomerReportEntity> implements IcCustomerReportService { public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerReportDao, IcCustomerReportEntity> implements IcCustomerReportService {
@Autowired
private RedisUtils redisUtils;
@Override @Autowired
public PageData<IcCustomerReportDTO> page(Map<String, Object> params) { private EpmetAdminOpenFeignClient adminOpenFeignClient;
IPage<IcCustomerReportEntity> page = baseDao.selectPage( @Autowired
getPage(params, FieldConstant.CREATED_TIME, false), private OperCrmOpenFeignClient operCrmOpenFeignClient;
getWrapper(params)
);
return getPageData(page, IcCustomerReportDTO.class);
}
@Override
public List<IcCustomerReportDTO> list(Map<String, Object> params) {
List<IcCustomerReportEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcCustomerReportDTO.class);
}
private QueryWrapper<IcCustomerReportEntity> getWrapper(Map<String, Object> params){ private QueryWrapper<IcCustomerReportEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP); String id = (String)params.get(FieldConstant.ID_HUMP);
@ -52,31 +59,71 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerRepor
return wrapper; return wrapper;
} }
/**
* Desc: 报表集合
* @param
* @author zxc
* @date 2022/8/8 10:38
*/
@Override @Override
public IcCustomerReportDTO get(String id) { public List<ReportResultDTO> reportList() {
IcCustomerReportEntity entity = baseDao.selectById(id); List<ReportResultDTO> reportList = baseDao.reportList();
return ConvertUtils.sourceToTarget(entity, IcCustomerReportDTO.class); if (CollectionUtils.isEmpty(reportList)){
return new ArrayList<>();
} }
Result<List<DictListResultDTO>> dictList = adminOpenFeignClient.dictList(new DictListFormDTO(CustomerFunctionConstant.REPORT_CATEGORY));
@Override if (!dictList.success()){
@Transactional(rollbackFor = Exception.class) throw new EpmetException("查询字典信息失败:" + CustomerFunctionConstant.REPORT_CATEGORY);
public void save(IcCustomerReportDTO dto) { }
IcCustomerReportEntity entity = ConvertUtils.sourceToTarget(dto, IcCustomerReportEntity.class); if (CollectionUtils.isNotEmpty(dictList.getData())){
insert(entity); 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
*
* @param formDTO
* @return
*/
@Override @Override
@Transactional(rollbackFor = Exception.class) public PreviewReportResDTO previewReport(PreviewReportFormDTO formDTO) {
public void update(IcCustomerReportDTO dto) { // rediskey格式:customerId:reportId:resiinfo:staffId
IcCustomerReportEntity entity = ConvertUtils.sourceToTarget(dto, IcCustomerReportEntity.class); PreviewReportResDTO reportResDTO = new PreviewReportResDTO();
updateById(entity); reportResDTO.setReportId(formDTO.getReportId());
String key = formDTO.getCustomerId().concat(StrConstant.COLON).concat(formDTO.getReportId()).concat(StrConstant.COLON).concat(formDTO.getCategoryKey()).concat(StrConstant.COLON).concat(formDTO.getStaffId());
redisUtils.hMSet(key, formDTO.getParamMap(), RedisUtils.DEFAULT_EXPIRE);
return reportResDTO;
} }
@Override /**
* Desc: 报表编辑
* @param formDTO
* @author zxc
* @date 2022/8/8 14:09
*/
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) { @Override
// 逻辑删除(@TableLogic 注解) public void reportEdit(ReportEditFormDTO formDTO) {
baseDao.deleteBatchIds(Arrays.asList(ids));
} }
} }

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

@ -3,4 +3,15 @@
<mapper namespace="com.epmet.dao.IcCustomerReportDao"> <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> </mapper>
Loading…
Cancel
Save