src/main/java/com/example/jz/controller/ReportController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/jz/modle/dto/UploadExcelReportDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/jz/modle/entity/Report.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/jz/modle/vo/CauseVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/example/jz/service/impl/ReportServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/example/jz/controller/ReportController.java
@@ -13,7 +13,9 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import lombok.SneakyThrows; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -64,7 +66,7 @@ /** * 报案 * * @param AddReportDto 实体对象 * @param addReportDto 实体对象 * @return 新增结果 */ @PostMapping @@ -116,5 +118,14 @@ public void exportReport(@RequestParam(value = "id") Integer id, HttpServletResponse response) { reportService.exportReporter(id, response); } @ApiOperation(httpMethod = "POST", value = "案件台-报案人员-报案人员导入") @PostMapping("/upload") @ApiResponse(message = "执行成功", code = 200) @SneakyThrows public R upload(@RequestParam(value = "multipartFile") MultipartFile multipartFile) { reportService.loadFile(multipartFile); return R.ok(); } } src/main/java/com/example/jz/modle/dto/UploadExcelReportDto.java
New file @@ -0,0 +1,51 @@ package com.example.jz.modle.dto; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.enums.BooleanEnum; import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.alibaba.excel.enums.poi.VerticalAlignmentEnum; import com.alibaba.excel.metadata.data.ImageData; import com.alibaba.excel.metadata.data.WriteCellData; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.Date; import java.util.List; @Data @ApiModel(description = "案件区-案件人员-导入", value = "ExportExcelReportVo") public class UploadExcelReportDto { // TODO: 2022/7/19 人照片 @ExcelProperty(value = "报案人", index = 0) private String realName; @ExcelProperty(value = "手机号码", index = 1) private String userMobile; @ExcelProperty(value = "身份证号", index = 2) private String userIdcard; //是否代办 1(代办) 0(不是代办) private String isCommission; //被骗时间 @ExcelProperty(value = "被骗时间", index = 3) private Date Time; //涉案金额 @ExcelProperty(value = "涉案金额", index = 4) private Double amountInvolved; //补充信息 @ExcelProperty(value = "补充信息", index = 5) @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) private String information; @ExcelProperty(value = "关联案件",index = 7) private String causeName; @ExcelProperty(value = "案件材料", index = 6) private WriteCellData<List<ImageData>> writeCellData; } src/main/java/com/example/jz/modle/entity/Report.java
@@ -58,6 +58,8 @@ private String information; //案件Id private Integer causeId; //案件描述 private String reportDescription; /** * 获取主键值 src/main/java/com/example/jz/modle/vo/CauseVo.java
@@ -1,5 +1,6 @@ package com.example.jz.modle.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -23,6 +24,7 @@ //第一次案发时间 @ApiModelProperty(dataType = "Date", value = "第一次案发时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date firstTime; //创建时间 @@ -31,7 +33,7 @@ //状态 0未审核 1不予立案 2受理中 3已结案 @ApiModelProperty(dataType = "String", value = "状态 0未审核 1不予立案 2受理中 3已结案") private String status; private Integer status; //负责人id @ApiModelProperty(dataType = "Integer", value = "负责人名称") src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java
@@ -27,7 +27,7 @@ @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) private String realName; @ExcelProperty(value = "手机号", index = 1) @ExcelProperty(value = "手机号码", index = 1) @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) private String userMobile; @@ -44,12 +44,15 @@ @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) private Double amountInvolved; @ExcelProperty(value = "案件描述",index = 5) @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) private String reportDescription; //补充信息 @ExcelProperty(value = "补充信息", index = 5) @ExcelProperty(value = "补充信息", index = 6) @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) private String information; @ExcelProperty(value = "案件材料", index = 6) @ExcelProperty(value = "案件材料", index = 7) @ColumnWidth(120) private WriteCellData<List<ImageData>> writeCellData; } src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -161,7 +161,9 @@ EasyExcel.read(multipartFile.getInputStream(),CauseLoadDto.class, new AnalysisEventListener<CauseLoadDto>() { @Override public void invoke(CauseLoadDto data, AnalysisContext context) { causeLoadDtos.add(data); if (StringUtils.isNotBlank(data.getName())&&StringUtils.isNotBlank(data.getUserName())){ causeLoadDtos.add(data); } } @Override @@ -200,8 +202,15 @@ if (userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName()))==null){ throw new BusinessException("负责人不存在"); } cause.setUserId(userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())).getId()); causeDao.insert(cause); Integer id = userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())).getId(); cause.setUserId(id); causeService.save(cause); Group group = new Group(); group.setCtime(new Date()); group.setUserId(id); group.setGroupName(a.getName()); group.setCauseId(cause.getId()); groupDao.insert(group); }); } src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
@@ -3,31 +3,21 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.metadata.data.ImageData; import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.util.IoUtils; import com.alibaba.excel.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.jz.dao.GroupDao; import com.example.jz.dao.GroupUserDao; import com.example.jz.dao.ReportDao; import com.example.jz.dao.UserDao; import com.example.jz.dao.*; import com.example.jz.modle.dto.AddReportDto; import com.example.jz.modle.dto.ReportParamDto; import com.example.jz.modle.entity.Group; import com.example.jz.modle.entity.GroupUser; import com.example.jz.modle.entity.Report; import com.example.jz.modle.entity.User; import com.example.jz.modle.vo.ReportListVo; import com.example.jz.dao.*; import com.example.jz.modle.entity.*; import com.example.jz.modle.vo.ExportExcelReportVo; import com.example.jz.modle.vo.ReportListVo; import com.example.jz.service.MinIOService; import com.example.jz.service.ReportService; import lombok.SneakyThrows; import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -35,13 +25,12 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.Serializable; import java.net.URL; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.io.Serializable; import java.util.Date; import java.util.List; @@ -113,17 +102,17 @@ ArrayList<ImageData> imageDataList = new ArrayList<>(); if (StringUtils.isNotBlank(a.getReportMaterials())) { String[] urls = a.getReportMaterials().split(","); if (urls.length==1){ int width=600; if (urls.length == 1) { int width = 600; try { ImageData imageData = new ImageData(); imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[0])).openConnection().getInputStream())); imageData.setRight(width/2); imageData.setRight(width / 2); imageDataList.add(imageData); } catch (Exception e) { throw new RuntimeException(e); } }else { } else { for (int i = 0; i < urls.length; i++) { int width = 600; try { @@ -137,16 +126,16 @@ } } } } objectWriteCellData.setImageDataList(imageDataList); exportExcelReportVo.setWriteCellData(objectWriteCellData); exportExcelReportVos.add(exportExcelReportVo); } objectWriteCellData.setImageDataList(imageDataList); exportExcelReportVo.setWriteCellData(objectWriteCellData); exportExcelReportVos.add(exportExcelReportVo); } ); String name = causeDao.selectOne(new QueryWrapper<Cause>().eq("id", id)).getName(); response.setHeader("Content-disposition", "attachment;filename="+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))+URLEncoder.encode(name+".xlsx","utf-8")); response.setCharacterEncoding("utf-8"); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-disposition", "attachment;filename=" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + URLEncoder.encode(name + ".xlsx", "utf-8")); EasyExcel.write(response.getOutputStream(), ExportExcelReportVo.class).sheet("材料导出").doWrite(exportExcelReportVos); } @@ -164,7 +153,7 @@ @Override public Page<ReportListVo> getPageByGroupId(Page<ReportListVo> page, ReportParamDto reportParamDto, Integer groupId) { Page<ReportListVo> aaa = reportDao.getPageByGroupId(page, reportParamDto,groupId); Page<ReportListVo> aaa = reportDao.getPageByGroupId(page, reportParamDto, groupId); aaa.getRecords().stream().forEach(x -> x.setIdcard(x.getIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*"))); return aaa; } @@ -190,5 +179,4 @@ .setIsCommission("0").setReportTime(new Date()); return reportDao.insert(report) > 0; } } } src/main/resources/application.yml
@@ -1,6 +1,6 @@ # 端口号 server: port: 8080 port: 8081 # spring配置 spring: