blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
@@ -22,19 +22,21 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.aspectj.weaver.patterns.Declare; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.jfpt.alarm.entity.Alarm; import org.springblade.jfpt.alarm.service.IAlarmService; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.alarm.wrapper.AlarmWrapper; import org.springblade.jfpt.animalheat.service.AnimalHeatService; import org.springblade.jfpt.alarm.vo.AlarmExcel; import org.springblade.jfpt.animalheat.vo.AnimalHeatExcel; import org.springblade.jfpt.healthcode.service.IhealthcodeService; import org.springblade.jfpt.operation.entity.Operation; import org.springblade.jfpt.operation.service.IOperationService; import org.springblade.jfpt.operation.vo.OperationVO; import org.springblade.jfpt.parcel.service.ParcelService; @@ -620,4 +622,14 @@ return list; } /** * 导出主动报警数据表格 * @param alarmVO 查询条件 * @param response */ @GetMapping("/export-alarm") public void exportAlarm(AlarmVO alarmVO, HttpServletResponse response){ List<AlarmExcel> list = alarmService.exportAlarm(alarmVO); ExcelUtil.export(response, "主动报警数据" + DateUtil.time(), "主动报警数据表", list, AlarmExcel.class); } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.jfpt.alarm.entity.Alarm; import org.springblade.jfpt.alarm.vo.AlarmExcel; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.parcel.vo.ConditionVo; @@ -109,4 +110,9 @@ List<Map<String, Object>> queryYearAlarm(String deviceNumber,List childList); /** * 导出主动报警数据表格 * @param alarmVO 查询条件 */ List<AlarmExcel> exportAlarm(@Param("alarm")AlarmVO alarmVO); } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -556,4 +556,102 @@ </select> <!--查询符合条件的数据并导出--> <select id="exportAlarm" resultType="org.springblade.jfpt.alarm.vo.AlarmExcel"> select a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.place,a.content,a.waringType,a.bz, a.deviceNumber,a.region,a.district,a.vaddress,a.aaddress, a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,a.province,a.city, e.serialNumber,e.oneContacts,e.ThreeContacts,e.twoContacts,e.onePhone,e.twoPhone,e.ThreePhone from sys_alarm a LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber where 1=1 <if test="alarm.jtype!=null"> and a.jtype like concat('%',#{alarm.jtype},'%') </if> <if test="alarm.deviceNumber!=null"> and a.deviceNumber like concat('%',#{alarm.deviceNumber},'%') </if> <if test="alarm.galarmPeople!=null"> and a.galarmPeople like concat('%',#{alarm.galarmPeople},'%') </if> <if test="alarm.district!=null"> and a.district like concat('%',#{alarm.district},'%') </if> <if test="alarm.province!=null"> and a.province like concat('%',#{alarm.province},'%') </if> <if test="alarm.city!=null"> and a.city like concat('%',#{alarm.city},'%') </if> <if test="alarm.level!=null"> and a.level like concat('%',#{alarm.level},'%') </if> <if test="alarm.waringType!=null"> and a.waringType like concat('%',#{alarm.waringType},'%') </if> <if test="alarm.beginTime!=null and alarm.beginTime!=''"> and a.alarmTime>=#{alarm.beginTime} </if> <if test="alarm.endTime!=null and alarm.endTime!=''"> and a.alarmTime<=#{alarm.endTime} </if> <if test="alarm.timeDesc!=null and alarm.timeDesc!=''"> <if test="alarm.timeDesc=='30分钟以上'"> and czTime-alarmTime>1800 </if> <if test="alarm.timeDesc=='10-30分钟'"> and czTime-alarmTime>600 and czTime-alarmTime <1800 </if> <if test="alarm.timeDesc=='5-10分钟'"> and czTime-alarmTime>300 and czTime-alarmTime <600 </if> <if test="alarm.timeDesc=='小于5分钟'"> and czTime-alarmTime>0 and czTime-alarmTime <300 </if> <if test="alarm.timeDesc=='0-2'"> and hour(alarmTime)>=0 and hour(alarmTime) <2 </if> <if test="alarm.timeDesc=='2-4'"> and hour(alarmTime)>=2 and hour(alarmTime) <4 </if> <if test="alarm.timeDesc=='4-6'"> and hour(alarmTime)>=4 and hour(alarmTime) <6 </if> <if test="alarm.timeDesc=='6-8'"> and hour(alarmTime)>=6 and hour(alarmTime) <8 </if> <if test="alarm.timeDesc=='8-10'"> and hour(alarmTime)>=8 and hour(alarmTime) <10 </if> <if test="alarm.timeDesc=='10-12'"> and hour(alarmTime)>=10 and hour(alarmTime) <12 </if> <if test="alarm.timeDesc=='12-14'"> and hour(alarmTime)>=12 and hour(alarmTime) <14 </if> <if test="alarm.timeDesc=='14-16'"> and hour(alarmTime)>=14 and hour(alarmTime) <16 </if> <if test="alarm.timeDesc=='16-18'"> and hour(alarmTime)>=16 and hour(alarmTime) <18 </if> <if test="alarm.timeDesc=='18-20'"> and hour(alarmTime)>=18 and hour(alarmTime) <20 </if> <if test="alarm.timeDesc=='20-22'"> and hour(alarmTime)>=20 and hour(alarmTime) <22 </if> <if test="alarm.timeDesc=='22-24'"> and hour(alarmTime)>=22 and hour(alarmTime) <24 </if> </if> and a.waringType IN("紧急求救") ORDER BY a.jtype ASC, a.alarmTime DESC </select> </mapper> blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
@@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.jfpt.alarm.entity.Alarm; import org.springblade.jfpt.alarm.vo.AlarmExcel; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.parcel.vo.ConditionVo; @@ -118,4 +119,10 @@ * @return */ List<Map<String, Object>> queryYearAlarm(String deviceNumber); /** * 导出主动报警数据表格 * @param alarmVO 查询条件 */ List<AlarmExcel> exportAlarm(AlarmVO alarmVO); } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
@@ -24,6 +24,7 @@ import org.springblade.jfpt.alarm.entity.Alarm; import org.springblade.jfpt.alarm.mapper.AlarmMapper; import org.springblade.jfpt.alarm.service.IAlarmService; import org.springblade.jfpt.alarm.vo.AlarmExcel; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.parcel.util.DateUtils; import org.springblade.jfpt.parcel.vo.ConditionVo; @@ -377,4 +378,12 @@ return baseMapper.queryYearAlarm(deviceNumber,childList); } /** * 导出主动报警数据表格 * @param alarmVO 查询条件 */ @Override public List<AlarmExcel> exportAlarm(AlarmVO alarmVO) { return baseMapper.exportAlarm(alarmVO); } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmExcel.java
New file @@ -0,0 +1,148 @@ package org.springblade.jfpt.alarm.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class AlarmExcel { @ColumnWidth(15) @ExcelProperty("警情编号") private Integer id; @ColumnWidth(20) @ExcelProperty("警情类型") private String alarmType; @ColumnWidth(20) @ExcelProperty("接警人姓名") private String alarmPeople; @ColumnWidth(30) @ExcelProperty("报警时间") private String alarmTime; @ColumnWidth(30) @ExcelProperty("接警时间") private String jjTime; @ColumnWidth(20) @ExcelProperty("报警人") private String galarmPeople; @ColumnWidth(15) @ExcelProperty("性别(0:男,1:女)") private String sex; @ColumnWidth(20) @ExcelProperty("联系电话") private String phoneNumber; @ColumnWidth(40) @ExcelProperty("事发地址") private String place; @ColumnWidth(30) @ExcelProperty("报警内容") private String content; @ColumnWidth(15) @ExcelProperty("警情类别") private String waringType; @ColumnWidth(20) @ExcelProperty("设备编号") private String deviceNumber; @ColumnWidth(30) @ExcelProperty("AOI区域编码") private String region; @ColumnWidth(10) @ExcelProperty("行政区编码") private String district; @ColumnWidth(10) @ExcelProperty("省份") private String province; @ColumnWidth(10) @ExcelProperty("地市") private String city; @ColumnWidth(15) @ExcelProperty("接警人ID") private String alarmId; @ColumnWidth(15) @ExcelProperty("警情级别") private String level; /** * 空间坐标 */ // @ApiModelProperty(value = "空间坐标") // private String coordinate; @ColumnWidth(20) @ExcelProperty("经度") private String jd; @ColumnWidth(20) @ExcelProperty("纬度") private String wd; @ColumnWidth(10) @ExcelProperty("是否生成警单(0:否 1:是)") private String jtype; @ColumnWidth(20) @ExcelProperty("接警名称") private String rname; @ColumnWidth(30) @ExcelProperty("处置时间") private String czTime; @ColumnWidth(30) @ExcelProperty("备注") private String bz; // @ColumnWidth(30) // @ExcelProperty("报警时间") // private String cid; @ColumnWidth(30) @ExcelProperty("历史视频地址") private String vaddress; @ColumnWidth(30) @ExcelProperty("音频地址") private String aaddress; } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/controller/AnimalHeatController.java
@@ -3,17 +3,22 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.jfpt.animalheat.vo.AnimalHeatExcel; import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat; import org.springblade.jfpt.animalheat.service.AnimalHeatService; import org.springblade.jfpt.animalheat.vo.AnimalHeatVo; import org.springblade.jfpt.parcel.vo.ConditionVo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * 体温监测控制层 @@ -68,4 +73,15 @@ return R.data(animalHeatService.selWeekDayAnimalStatis()); } /** * 导出体温数据列表 * @param animalHeatVo 条件 * @param response 返回域 */ @GetMapping("/export-animalHeat") public void exportAnimalHeat(AnimalHeatVo animalHeatVo,HttpServletResponse response){ List<AnimalHeatExcel> list = animalHeatService.exportAnimalHeat(animalHeatVo); ExcelUtil.export(response, "体温检测数据" + DateUtil.time(), "体温检测数据表", list, AnimalHeatExcel.class); } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat; import org.springblade.jfpt.animalheat.vo.AnimalHeatExcel; import org.springblade.jfpt.animalheat.vo.AnimalHeatVo; import org.springblade.jfpt.animalheat.vo.StatisVo; import org.springblade.jfpt.parcel.vo.ConditionVo; @@ -76,4 +77,10 @@ */ @SqlParser(filter = true) List<Integer> selectAnimalTimeData(@Param("conditionVo")ConditionVo conditionVo); /** * 导出体温数据列表 * @param animalHeatVo 条件 */ List<AnimalHeatExcel> exportAnimalHeat(@Param("animalHeatVo")AnimalHeatVo animalHeatVo); } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
@@ -192,4 +192,66 @@ on a.days = b.datetime </select> <!--导出体温数据列表--> <select id="exportAnimalHeat" resultType="org.springblade.jfpt.animalheat.vo.AnimalHeatExcel"> SELECT * FROM blade_animal_heat where 1=1 <if test="animalHeatVo.type==0"> and to_days(create_time)=to_days(now()) </if> <if test="animalHeatVo.type==1"> and YEARWEEK(date_format(create_time,'%Y-%m-%d'),1) = YEARWEEK(now(),1) </if> <if test="animalHeatVo.type==2"> and date_format(create_time,'%Y%m') = date_format(now(),'%Y%m') </if> <if test="animalHeatVo.status!=null"> and status=#{animalHeatVo.status} </if> <if test="animalHeatVo.begTime!=null and animalHeatVo.begTime!='' and animalHeatVo.endTime!=null and animalHeatVo.endTime!='' "> and date(create_time) between #{animalHeatVo.begTime} and #{animalHeatVo.endTime} </if> <if test="animalHeatVo.timeDesc!=null and animalHeatVo.timeDesc!=''"> <if test="animalHeatVo.timeDesc=='0-2'"> and hour(create_time)>=0 and hour(create_time) <2 </if> <if test="animalHeatVo.timeDesc=='2-4'"> and hour(create_time)>=2 and hour(create_time) <4 </if> <if test="animalHeatVo.timeDesc=='4-6'"> and hour(create_time)>=4 and hour(create_time) <6 </if> <if test="animalHeatVo.timeDesc=='6-8'"> and hour(create_time)>=6 and hour(create_time) <8 </if> <if test="animalHeatVo.timeDesc=='8-10'"> and hour(create_time)>=8 and hour(create_time) <10 </if> <if test="animalHeatVo.timeDesc=='10-12'"> and hour(create_time)>=10 and hour(create_time) <12 </if> <if test="animalHeatVo.timeDesc=='12-14'"> and hour(create_time)>=12 and hour(create_time) <14 </if> <if test="animalHeatVo.timeDesc=='14-16'"> and hour(create_time)>=14 and hour(create_time) <16 </if> <if test="animalHeatVo.timeDesc=='16-18'"> and hour(create_time)>=16 and hour(create_time) <18 </if> <if test="animalHeatVo.timeDesc=='18-20'"> and hour(create_time)>=18 and hour(create_time) <20 </if> <if test="animalHeatVo.timeDesc=='20-22'"> and hour(create_time)>=20 and hour(create_time) <22 </if> <if test="animalHeatVo.timeDesc=='22-24'"> and hour(create_time)>=22 and hour(create_time) <24 </if> </if> ORDER BY create_time desc </select> </mapper> blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
@@ -2,7 +2,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.jfpt.alarm.vo.AlarmExcel; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat; import org.springblade.jfpt.animalheat.vo.AnimalHeatExcel; import org.springblade.jfpt.animalheat.vo.AnimalHeatVo; import org.springblade.jfpt.animalheat.vo.StatisVo; import org.springblade.jfpt.parcel.vo.ConditionVo; @@ -67,4 +70,12 @@ * @return */ Map<String, Object> selectAnimalTimeData(ConditionVo conditionVo); /** * 导出体温数据列表 * @param animalHeatVo 条件 */ List<AnimalHeatExcel> exportAnimalHeat(AnimalHeatVo animalHeatVo); } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.jfpt.alarm.constant.AlarmTimeConstant; import org.springblade.jfpt.alarm.vo.AlarmExcel; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat; import org.springblade.jfpt.animalheat.mapper.AnimalHeatMapper; import org.springblade.jfpt.animalheat.service.AnimalHeatService; import org.springblade.jfpt.animalheat.util.ImageUtil; import org.springblade.jfpt.animalheat.vo.AnimalHeatExcel; import org.springblade.jfpt.animalheat.vo.AnimalHeatVo; import org.springblade.jfpt.animalheat.vo.StatisVo; import org.springblade.jfpt.healthcode.entity.Healthcode; @@ -279,4 +282,16 @@ //返回数据 return map; } /** * 导出体温数据列表 * @param animalHeatVo 条件 */ @Override public List<AnimalHeatExcel> exportAnimalHeat(AnimalHeatVo animalHeatVo) { return baseMapper.exportAnimalHeat(animalHeatVo); } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/AnimalHeatExcel.java
New file @@ -0,0 +1,51 @@ package org.springblade.jfpt.animalheat.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import java.util.Date; @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class AnimalHeatExcel { @ColumnWidth(15) @ExcelProperty("体温检测编号") private Integer id;// bigint(20) NOT NULL COMMENT '主键', @ColumnWidth(20) @ExcelProperty("设备序列号") private String serialno;//varchar(20) 序列号 @ColumnWidth(20) @ExcelProperty("设备IP") private String ip;// varchar(63) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备IP地址', @ColumnWidth(50) @ExcelProperty("图片URL") private String picture;// varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '图片url路径', // @TableField("picture_red") // private String pictureRed;// varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '红外图片url路径', @ColumnWidth(15) @ExcelProperty("体温") private Float tempRed;// float(4,2) DEFAULT NULL COMMENT '当前人员的温度', @ColumnWidth(40) @ExcelProperty("人脸位置二位数组") private String personRect;// varchar(63) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '人脸位置二位数组,[left,top,right,bottom]', // @TableField("person_rect_red") // private String personRectRed;// varchar(63) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '红外人脸位置二位数组,[left,top,right,bottom]', @ColumnWidth(25) @ExcelProperty("创建时间") private Date createTime;// datetime DEFAULT NULL COMMENT '创建时间', //private Integer status;//状态 1为高温 0为正常 ,以37度为标准,大于37度为高温 } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/controller/healthcodeController.java
@@ -23,12 +23,17 @@ import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.jfpt.alarm.vo.AlarmExcel; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.healthcode.entity.Healthcode; import org.springblade.jfpt.healthcode.service.IhealthcodeService; import org.springblade.jfpt.healthcode.vo.HealthcodeExcel; import org.springblade.jfpt.healthcode.vo.HealthcodeVO; import org.springblade.jfpt.healthcode.wrapper.healthcodeWrapper; import org.springframework.web.bind.annotation.*; @@ -236,4 +241,16 @@ return calendar.getTime(); } /** * 导出健康码数据表格 * @param healthcodeVO 查询条件 * @param response */ @GetMapping("/export-healthcode") public void exportHealthcode(HealthcodeVO healthcodeVO, HttpServletResponse response){ List<HealthcodeExcel> list = ihealthcodeService.exportHealthcode(healthcodeVO); ExcelUtil.export(response, "健康码数据" + DateUtil.time(), "健康码数据表", list, HealthcodeExcel.class); } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java
@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.jfpt.healthcode.entity.Healthcode; import org.springblade.jfpt.healthcode.vo.HealthcodeExcel; import org.springblade.jfpt.healthcode.vo.HealthcodeVO; import org.springblade.jfpt.parcel.vo.ConditionVo; @@ -72,4 +73,10 @@ */ @SqlParser(filter = true) List<Integer> selectHealthcodeTimeData(@Param("conditionVo")ConditionVo conditionVo); /** * 导出健康码数据表格 * @param healthcodeVO 查询条件 */ List<HealthcodeExcel> exportHealthcode(@Param("healthcodeVO")HealthcodeVO healthcodeVO); } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml
@@ -226,4 +226,73 @@ on a.days = b.datetime </select> <!--导出健康码数据表格--> <select id="exportHealthcode" resultType="org.springblade.jfpt.healthcode.vo.HealthcodeExcel"> SELECT * FROM healthcode where 1=1 <if test="healthcodeVO.status==0"> and to_days(dtime)=to_days(now()) </if> <if test="healthcodeVO.status==1"> and YEARWEEK(date_format(dtime,'%Y-%m-%d'),1) = YEARWEEK(now(),1) </if> <if test="healthcodeVO.status==2"> and date_format(dtime,'%Y%m') = date_format(now(),'%Y%m') </if> <if test="healthcodeVO.type!=null"> and type=#{healthcodeVO.type} </if> <if test="healthcodeVO.province!=null"> and province like concat('%',#{healthcodeVO.province},'%') </if> <if test="healthcodeVO.city!=null"> and city like concat('%',#{healthcodeVO.city},'%') </if> <if test="healthcodeVO.district!=null"> and district like concat('%',#{healthcodeVO.district},'%') </if> <if test="healthcodeVO.begTime!=null and healthcodeVO.begTime!='' and healthcodeVO.endTime!=null and healthcodeVO.endTime!='' "> and date(dtime) between #{healthcodeVO.begTime} and #{healthcodeVO.endTime} </if> <if test="healthcodeVO.timeDesc!=null and healthcodeVO.timeDesc!=''"> <if test="healthcodeVO.timeDesc=='0-2'"> and hour(dtime)>=0 and hour(dtime) <2 </if> <if test="healthcodeVO.timeDesc=='2-4'"> and hour(dtime)>=2 and hour(dtime) <4 </if> <if test="healthcodeVO.timeDesc=='4-6'"> and hour(dtime)>=4 and hour(dtime) <6 </if> <if test="healthcodeVO.timeDesc=='6-8'"> and hour(dtime)>=6 and hour(dtime) <8 </if> <if test="healthcodeVO.timeDesc=='8-10'"> and hour(dtime)>=8 and hour(dtime) <10 </if> <if test="healthcodeVO.timeDesc=='10-12'"> and hour(dtime)>=10 and hour(dtime) <12 </if> <if test="healthcodeVO.timeDesc=='12-14'"> and hour(dtime)>=12 and hour(dtime) <14 </if> <if test="healthcodeVO.timeDesc=='14-16'"> and hour(dtime)>=14 and hour(dtime) <16 </if> <if test="healthcodeVO.timeDesc=='16-18'"> and hour(dtime)>=16 and hour(dtime) <18 </if> <if test="healthcodeVO.timeDesc=='18-20'"> and hour(dtime)>=18 and hour(dtime) <20 </if> <if test="healthcodeVO.timeDesc=='20-22'"> and hour(dtime)>=20 and hour(dtime) <22 </if> <if test="healthcodeVO.timeDesc=='22-24'"> and hour(dtime)>=22 and hour(dtime) <24 </if> </if> ORDER BY dtime desc </select> </mapper> blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java
@@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.jfpt.healthcode.entity.Healthcode; import org.springblade.jfpt.healthcode.vo.HealthcodeExcel; import org.springblade.jfpt.healthcode.vo.HealthcodeVO; import org.springblade.jfpt.parcel.vo.ConditionVo; @@ -70,4 +71,10 @@ * @return */ Map<String, Object> selectHealthcodeTimeData(ConditionVo conditionVo); /** * 导出健康码数据表格 * @param healthcodeVO 查询条件 */ List<HealthcodeExcel> exportHealthcode(HealthcodeVO healthcodeVO); } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java
@@ -22,6 +22,7 @@ import org.springblade.jfpt.healthcode.entity.Healthcode; import org.springblade.jfpt.healthcode.mapper.healthcodeMapper; import org.springblade.jfpt.healthcode.service.IhealthcodeService; import org.springblade.jfpt.healthcode.vo.HealthcodeExcel; import org.springblade.jfpt.healthcode.vo.HealthcodeVO; import org.springblade.jfpt.parcel.vo.ConditionVo; import org.springframework.stereotype.Service; @@ -203,4 +204,13 @@ //返回数据 return map; } /** * 导出健康码数据表格 * @param healthcodeVO 查询条件 */ @Override public List<HealthcodeExcel> exportHealthcode(HealthcodeVO healthcodeVO) { return baseMapper.exportHealthcode(healthcodeVO); } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/vo/HealthcodeExcel.java
New file @@ -0,0 +1,52 @@ package org.springblade.jfpt.healthcode.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class HealthcodeExcel { @ColumnWidth(15) @ExcelProperty("健康码编号") private Integer id; @ColumnWidth(15) @ExcelProperty("类型(1:绿色 2:黄色 3:红色)") private String type; @ColumnWidth(15) @ExcelProperty("性别") private String sex; @ColumnWidth(20) @ExcelProperty("省") private String province; @ColumnWidth(20) @ExcelProperty("市") private String city; @ColumnWidth(20) @ExcelProperty("县区") private String district; @ColumnWidth(30) @ExcelProperty("创建时间") private String dtime; } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/controller/ParcelController.java
@@ -1,13 +1,20 @@ package org.springblade.jfpt.parcel.controller; import lombok.AllArgsConstructor; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.jfpt.animalheat.vo.AnimalHeatVo; import org.springblade.jfpt.healthcode.vo.HealthcodeExcel; import org.springblade.jfpt.healthcode.vo.HealthcodeVO; import org.springblade.jfpt.parcel.service.ParcelService; import org.springblade.jfpt.parcel.vo.ConditionVo; import org.springblade.jfpt.parcel.vo.ParcelExcel; import org.springblade.jfpt.parcel.vo.ParcelKindExcel; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * @title 包裹控制层 @@ -94,4 +101,28 @@ } /** * 导出包裹数据表格 * @param conditionVo 查询条件 * @param response */ @GetMapping("/export-parcel") public void exportParcel(ConditionVo conditionVo, HttpServletResponse response){ List<ParcelExcel> list = parcelService.exportParcel(conditionVo); ExcelUtil.export(response, "包裹数据" + DateUtil.time(), "包裹数据表", list, ParcelExcel.class); } /** * 导出违禁品数据表格 * @param conditionVo 查询条件 * @param response */ @GetMapping("/export-parcelKind") public void exportParcelKind(ConditionVo conditionVo, HttpServletResponse response){ List<ParcelKindExcel> list = parcelService.exportParcelKind(conditionVo); System.out.println("list = " + list); ExcelUtil.export(response, "违禁品数据" + DateUtil.time(), "违禁品数据表", list, ParcelKindExcel.class); } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java
@@ -1,6 +1,8 @@ package org.springblade.jfpt.parcel.service; import org.springblade.jfpt.parcel.vo.ConditionVo; import org.springblade.jfpt.parcel.vo.ParcelExcel; import org.springblade.jfpt.parcel.vo.ParcelKindExcel; import java.util.List; import java.util.Map; @@ -71,4 +73,16 @@ * @return */ List<Integer> selParcelTimeDis(ConditionVo conditionVo); /** * 导出包裹数据表格 * @param conditionVo 查询条件 */ List<ParcelExcel> exportParcel(ConditionVo conditionVo); /** * 导出违禁品数据表格 * @param conditionVo 查询条件 */ List<ParcelKindExcel> exportParcelKind(ConditionVo conditionVo); } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
@@ -3,18 +3,19 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.JacksonUtils; import io.swagger.models.auth.In; import org.springblade.jfpt.alarm.constant.AlarmTimeConstant; import org.springblade.jfpt.animalheat.util.ImageUtil; import org.springblade.jfpt.parcel.service.ParcelService; import org.springblade.jfpt.parcel.util.DateUtils; import org.springblade.jfpt.parcel.util.HttpClientUtils; import org.springblade.jfpt.parcel.util.JacksonUtil; import org.springblade.jfpt.parcel.util.PageList; import org.springblade.jfpt.parcel.util.*; import org.springblade.jfpt.parcel.vo.ConditionVo; import org.springblade.jfpt.parcel.vo.ParcelExcel; import org.springblade.jfpt.parcel.vo.ParcelKindExcel; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.validation.constraints.NotBlank; import java.lang.reflect.Array; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -352,6 +353,10 @@ map.put("imgKey",imgKey); //执行http远程调用 String s = HttpClientUtils.doGetHeaderPictureBase64(PARCEL_PICTURE_URL, PARCEL_KEY, PARCEL_SECRET, map); System.out.println("s = " + s); if (null==s || s=="" || s.isEmpty()){ return null; } //获取图片的长宽 Map<String, Object> imageMap = ImageUtil.getBase64ImageWidthAndHeight(s); //封装数据 @@ -369,28 +374,7 @@ public Object getParcelDetailPage(ConditionVo conditionVo) { Map<String,Object> result =(Map<String,Object>) getParcelDataPageList(conditionVo, PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET).get("result"); if (null!=result) { // List<Object> dataList = JSONArray.parseArray(result.get("data").toString()); // System.out.println("dataList = " + dataList); // //遍历集合 // for (Object data:dataList) { // Map<String,Object> parcelData =(Map<String,Object>)data; // String imgUrl = parcelData.get("imgUrl").toString(); // //查询图片 PARCEL_PRE_URL // //截取图片imgKey信息 // String[] imgKeys = imgUrl.split("=", imgUrl.length()); // String imgKey = imgKeys[1]; // //封装成map对象 // HashMap<String, String> map = new HashMap<>(); // map.put("imgKey",imgKey); // //执行http远程调用 // String s = HttpClientUtils.doGetHeaderPictureBase64(PARCEL_PICTURE_URL, PARCEL_KEY, PARCEL_SECRET, map); // //封装数据 // if (null!=s && s!="") { // parcelData.put("imgUrl", s); // } // } return JSONObject.parse(result.toString()); } return null; } @@ -696,4 +680,192 @@ //返回数据 return list; } /** * 导出包裹数据表格 * @param conditionVo 查询条件 */ @Override public List<ParcelExcel> exportParcel(ConditionVo conditionVo) { ArrayList<List<ParcelExcel>> parcelExcelList = new ArrayList<>(); //设置页码数 conditionVo.setCurrentPage(1); conditionVo.setPageSize(100); //获取数据 Map<String,Object> result =(Map<String,Object>)getParcelDataPageList(conditionVo, PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET).get("result"); if (null!=result) { String data = result.get("data").toString(); List<ParcelExcel> dataList = JsonUtils.jsonToList(data, ParcelExcel.class); parcelExcelList.add(dataList); //取第一次获取到的数据总数,每次取100条,多于100分批次取 int totalSize = Integer.parseInt(result.get("totalSize").toString()); int i = totalSize/100+1; if (i>1){ for (int j=1;j<i;j++) { conditionVo.setCurrentPage(j+1); //获取数据 Map<String,Object> result0 =(Map<String,Object>) getParcelDataPageList(conditionVo, PARCEL_DETAIL_RUL, PARCEL_KEY, PARCEL_SECRET).get("result"); String data0 = result0.get("data").toString(); List<ParcelExcel> dataLists = JsonUtils.jsonToList(data0, ParcelExcel.class); parcelExcelList.add(dataLists); } } //合并集合 List<ParcelExcel> parcelExcels = parcelExcelList.stream().flatMap(List::stream).collect(Collectors.toList()); System.out.println("parcelExcels = " + parcelExcels); return parcelExcels; } return null; } /** * 导出违禁品数据表格 * @param conditionVo 查询条件 */ @Override public List<ParcelKindExcel> exportParcelKind(ConditionVo conditionVo) { System.out.println("conditionVo = " + conditionVo); List<List<ParcelKindExcel>> parcelKindExcelList = new ArrayList<>(); List<ParcelKindExcel> list = new ArrayList<>(); if(null!=conditionVo.getTimeDesc() && conditionVo.getTimeDesc()!="" && !conditionVo.getTimeDesc().equals("undefined") ){ //设置页码数 ConditionVo vo = new ConditionVo(); vo.setCurrentPage(1); vo.setPageSize(100); vo.setDecisioDiagramResult(conditionVo.getDecisioDiagramResult()); vo.setStartTime(conditionVo.getStartTime()); vo.setEndTime(conditionVo.getEndTime()); Map<String,Object> result =(Map<String,Object>) getParcelDataPageList(vo, PARCEL_KIND_URL, PARCEL_KEY, PARCEL_SECRET).get("result"); if (null!=result){ String data = result.get("data").toString(); List<ParcelKindExcel> dataList = JsonUtils.jsonToList(data, ParcelKindExcel.class); parcelKindExcelList.add(dataList); //取第一次获取到的数据总数,每次取100条,多于100分批次取 int totalSize = Integer.parseInt(result.get("totalSize").toString()); int i = totalSize/100+1; if (i>1){ for (int j=1;j<i;j++) { vo.setCurrentPage(j+1); //获取数据 Map<String,Object> result0 =(Map<String,Object>) getParcelDataPageList(vo, PARCEL_KIND_URL, PARCEL_KEY, PARCEL_SECRET).get("result"); String data0 = result0.get("data").toString(); List<ParcelKindExcel> kindExcels = JsonUtils.jsonToList(data0, ParcelKindExcel.class); parcelKindExcelList.add(kindExcels); } } //合并集合 List<ParcelKindExcel> collect = parcelKindExcelList.stream().flatMap(List::stream).collect(Collectors.toList()); //选出符合条件的数据 list = TimeDisDataExcel(conditionVo,collect); //返回数据 return list; } }else { conditionVo.setCurrentPage(1); conditionVo.setPageSize(100); Map<String,Object> result =(Map<String,Object>) getParcelDataPageList(conditionVo, PARCEL_KIND_URL, PARCEL_KEY, PARCEL_SECRET).get("result"); //获取违禁品数据 if (null!=result) { String data = result.get("data").toString(); List<ParcelKindExcel> dataList = JsonUtils.jsonToList(data, ParcelKindExcel.class); parcelKindExcelList.add(dataList); //取第一次获取到的数据总数,每次取100条,多于100分批次取 int totalSize = Integer.parseInt(result.get("totalSize").toString()); int i = totalSize/100+1; if (i>1){ for (int j=1;j<i;j++) { conditionVo.setCurrentPage(j+1); //获取数据 Map<String,Object> result0 =(Map<String,Object>) getParcelDataPageList(conditionVo, PARCEL_KIND_URL, PARCEL_KEY, PARCEL_SECRET).get("result"); String data0 = result0.get("data").toString(); List<ParcelKindExcel> kindExcels = JsonUtils.jsonToList(data0, ParcelKindExcel.class); parcelKindExcelList.add(kindExcels); } } //合并集合并返回 return parcelKindExcelList.stream().flatMap(List::stream).collect(Collectors.toList()); } } return null; } /** * 表格导出帅选数据 * @param conditionVo * @param collect * @return */ private List<ParcelKindExcel> TimeDisDataExcel(ConditionVo conditionVo, List<ParcelKindExcel> collect) { List<ParcelKindExcel> list = new ArrayList<>(); //遍历集合,选出符合条件的 for (ParcelKindExcel parcelKindExcel:collect) { try { long time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(parcelKindExcel.getCreateTime()).getHours(); if (conditionVo.getTimeDesc().equals("0-2")){ if (time>=0 && time<2){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("2-4")){ if (time>=2 && time<4){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("4-6")){ if (time>=4 && time<6){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("6-8")){ if (time>=6 && time<8){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("8-10")){ if (time>=8 && time<10){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("10-12")){ if (time>=10 && time<12){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("12-14")){ if (time>=12 && time<14){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("14-16")){ if (time>=14 && time<16){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("16-18")){ if (time>=16 && time<18){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("18-20")){ if (time>=18 && time<20){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("20-22")){ if (time>=20 && time<22){ list.add(parcelKindExcel); } } if (conditionVo.getTimeDesc().equals("22-24")){ if (time>=22 && time<24){ list.add(parcelKindExcel); } } } catch (ParseException e) { e.printStackTrace(); } } return list; } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/JsonUtils.java
New file @@ -0,0 +1,99 @@ package org.springblade.jfpt.parcel.util; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.HashMap; import java.util.List; import java.util.Map; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonUtils { // 定义jackson对象 private static final ObjectMapper MAPPER = new ObjectMapper(); /** * 将对象转换成json字符串。 * <p>Title: pojoToJson</p> * <p>Description: </p> * @param data * @return */ public static String objectToJson(Object data) { try { String string = MAPPER.writeValueAsString(data); return string; } catch (JsonProcessingException e) { e.printStackTrace(); } return null; } /** * 将json结果集转化为对象 * * @param jsonData json数据 * @param beanType 对象中的object类型 * @return */ public static <T> T jsonToPojo(String jsonData, Class<T> beanType) { try { T t = MAPPER.readValue(jsonData, beanType); return t; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 将json数据转换成pojo对象list * <p>Title: jsonToList</p> * <p>Description: </p> * @param jsonData * @param beanType * @return */ public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) { JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); try { List<T> list = MAPPER.readValue(jsonData, javaType); return list; } catch (Exception e) { e.printStackTrace(); } return null; } public static Map<String, Object> objectToMap(Object obj) throws Exception { if(obj == null) return null; Map<String, Object> map = new HashMap<String, Object>(); BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass()); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor property : propertyDescriptors) { String key = property.getName(); if (key.compareToIgnoreCase("class") == 0) { continue; } Method getter = property.getReadMethod(); Object value = getter!=null ? getter.invoke(obj) : null; map.put(key, value); } return map; } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParceLev.java
New file @@ -0,0 +1,22 @@ package org.springblade.jfpt.parcel.vo; import lombok.AllArgsConstructor; import lombok.Data; import java.util.List; @Data @AllArgsConstructor public class ParceLev { private String objName; private String objCode; private String levName; private List<String> coords; public ParceLev() { } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelExcel.java
New file @@ -0,0 +1,57 @@ package org.springblade.jfpt.parcel.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import org.springblade.jfpt.report.converter.ListToStringConverter; import java.util.List; /** * 包裹excel导出配置 */ @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class ParcelExcel { @ColumnWidth(20) @ExcelProperty("安检机所在地") private String checkMachinePosition; @ColumnWidth(20) @ExcelProperty("安检机编号") private String checkMachineCode; @ColumnWidth(30) @ExcelProperty("安检机名称") private String checkMachineName; @ColumnWidth(40) @ExcelProperty("违禁包裹物品") private String decisioDiagramResultDetails; @ColumnWidth(30) @ExcelProperty("包裹ID") private String packageId; @ColumnWidth(50) @ExcelProperty("图片url") private String imgUrl; @ColumnWidth(30) @ExcelProperty("安检机时间") private String samplingTime; @ColumnWidth(20) @ExcelProperty("是否识别违禁, 1-违禁 0-非违禁") private String mechineMark; @ColumnWidth(50) @ExcelProperty(value = "识别违禁品的坐标",converter = ListToStringConverter.class) private List<ParceLev> coordsDetailVoList; } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelKindExcel.java
New file @@ -0,0 +1,52 @@ package org.springblade.jfpt.parcel.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import org.springblade.jfpt.report.converter.ListToStringConverter; import java.util.List; /** * 违禁品数据导出 */ @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class ParcelKindExcel { @ColumnWidth(25) @ExcelProperty("违禁包裹物品代码") private String objCode; @ColumnWidth(25) @ExcelProperty("违禁包裹物品名称") private String objName; @ColumnWidth(15) @ExcelProperty("违禁品级别") private String levName; @ColumnWidth(30) @ExcelProperty(value = "违禁品坐标,list格式",converter = ListToStringConverter.class) private List<String> coords; @ColumnWidth(30) @ExcelProperty("包裹ID") private String packageId; @ColumnWidth(50) @ExcelProperty("图片url") private String imgUrl; @ColumnWidth(30) @ExcelProperty("过包裹时间") private String createTime; } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/ListToStringConverter.java
New file @@ -0,0 +1,36 @@ package org.springblade.jfpt.report.converter; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.CellData; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.property.ExcelContentProperty; import org.springframework.stereotype.Component; /** * 用于list 装换为 String * @param <T> */ @Component public class ListToStringConverter <T> implements Converter<T> { @Override public Class supportJavaTypeKey() { return null; } @Override public CellDataTypeEnum supportExcelTypeKey() { return null; } @Override public T convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception { return null; } @Override public CellData convertToExcelData(T t, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception { return new CellData(t.toString()); } } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/LocalDateTimeConverter.java
New file @@ -0,0 +1,4 @@ package org.springblade.jfpt.report.converter; public class LocalDateTimeConverter { } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/SexConverter.java
New file @@ -0,0 +1,31 @@ package org.springblade.jfpt.report.converter; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.CellData; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.property.ExcelContentProperty; import org.springframework.stereotype.Component; @Component public class SexConverter implements Converter<Integer> { @Override public Class supportJavaTypeKey() { return null; } @Override public CellDataTypeEnum supportExcelTypeKey() { return null; } @Override public Integer convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception { return null; } @Override public CellData convertToExcelData(Integer integer, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception { return new CellData(integer.equals(1) ? "女":"男"); } }