From 36afc3a1f1437b8a3283dc0bf6475e96fded05a7 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 12 Apr 2021 22:35:36 +0800
Subject: [PATCH] 新增主动报警alarm,健康码,体温,包裹,违禁品导出数据接口

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml                       |   98 ++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelExcel.java                         |   57 ++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/ListToStringConverter.java        |   36 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java            |    7 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelKindExcel.java                     |   52 ++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParceLev.java                            |   22 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java              |   16 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/AnimalHeatExcel.java                 |   51 ++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java         |  222 +++++++++-
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/vo/HealthcodeExcel.java                 |   52 ++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java          |   11 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/LocalDateTimeConverter.java       |    4 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml             |   69 +++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java                   |    7 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/controller/AnimalHeatController.java    |   16 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java                      |    6 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/SexConverter.java                 |   31 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml             |   62 +++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/JsonUtils.java                         |   99 ++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java            |    7 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java                  |   14 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/controller/healthcodeController.java    |   17 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java |   10 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java           |    9 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmExcel.java                           |  148 +++++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java         |    7 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java |   15 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/controller/ParcelController.java            |   31 +
 28 files changed, 1,149 insertions(+), 27 deletions(-)

diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
index 665ba1b..a2018e6 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
+++ b/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);
+	}
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
index 75b336d..bf3b601 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
+++ b/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);
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
index ea1393a..3b4c5c6 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
+++ b/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&gt;=#{alarm.beginTime}
+        </if>
+        <if test="alarm.endTime!=null and alarm.endTime!=''">
+            and a.alarmTime&lt;=#{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 &lt;1800
+            </if>
+            <if test="alarm.timeDesc=='5-10分钟'">
+                and czTime-alarmTime>300 and czTime-alarmTime &lt;600
+            </if>
+            <if test="alarm.timeDesc=='小于5分钟'">
+                and czTime-alarmTime>0 and czTime-alarmTime &lt;300
+            </if>
+            <if test="alarm.timeDesc=='0-2'">
+                and hour(alarmTime)>=0 and hour(alarmTime) &lt;2
+            </if>
+            <if test="alarm.timeDesc=='2-4'">
+                and hour(alarmTime)>=2 and hour(alarmTime) &lt;4
+            </if>
+            <if test="alarm.timeDesc=='4-6'">
+                and hour(alarmTime)>=4 and hour(alarmTime) &lt;6
+            </if>
+            <if test="alarm.timeDesc=='6-8'">
+                and hour(alarmTime)>=6 and hour(alarmTime) &lt;8
+            </if>
+            <if test="alarm.timeDesc=='8-10'">
+                and hour(alarmTime)>=8 and hour(alarmTime) &lt;10
+            </if>
+            <if test="alarm.timeDesc=='10-12'">
+                and hour(alarmTime)>=10 and hour(alarmTime) &lt;12
+            </if>
+            <if test="alarm.timeDesc=='12-14'">
+                and hour(alarmTime)>=12 and hour(alarmTime) &lt;14
+            </if>
+            <if test="alarm.timeDesc=='14-16'">
+                and hour(alarmTime)>=14 and hour(alarmTime) &lt;16
+            </if>
+            <if test="alarm.timeDesc=='16-18'">
+                and hour(alarmTime)>=16 and hour(alarmTime) &lt;18
+            </if>
+            <if test="alarm.timeDesc=='18-20'">
+                and hour(alarmTime)>=18 and hour(alarmTime) &lt;20
+            </if>
+            <if test="alarm.timeDesc=='20-22'">
+                and hour(alarmTime)>=20 and hour(alarmTime) &lt;22
+            </if>
+            <if test="alarm.timeDesc=='22-24'">
+                and hour(alarmTime)>=22 and hour(alarmTime) &lt;24
+            </if>
+        </if>
+
+        and a.waringType IN("紧急求救")
+
+        ORDER BY
+        a.jtype ASC,
+        a.alarmTime DESC
+    </select>
+
 </mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
index 3de8d5b..86c9f7b 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
+++ b/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);
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
index 1ddf045..ec3ea37 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
+++ b/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);
+	}
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmExcel.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmExcel.java
new file mode 100644
index 0000000..8d00478
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmExcel.java
@@ -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;
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/controller/AnimalHeatController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/controller/AnimalHeatController.java
index 31c806f..e10a787 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/controller/AnimalHeatController.java
+++ b/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);
+	}
+
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
index fcc4a02..539722b 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
+++ b/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);
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
index ff9a139..af15850 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
+++ b/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) &lt;2
+            </if>
+            <if test="animalHeatVo.timeDesc=='2-4'">
+                and hour(create_time)>=2 and hour(create_time) &lt;4
+            </if>
+            <if test="animalHeatVo.timeDesc=='4-6'">
+                and hour(create_time)>=4 and hour(create_time) &lt;6
+            </if>
+            <if test="animalHeatVo.timeDesc=='6-8'">
+                and hour(create_time)>=6 and hour(create_time) &lt;8
+            </if>
+            <if test="animalHeatVo.timeDesc=='8-10'">
+                and hour(create_time)>=8 and hour(create_time) &lt;10
+            </if>
+            <if test="animalHeatVo.timeDesc=='10-12'">
+                and hour(create_time)>=10 and hour(create_time) &lt;12
+            </if>
+            <if test="animalHeatVo.timeDesc=='12-14'">
+                and hour(create_time)>=12 and hour(create_time) &lt;14
+            </if>
+            <if test="animalHeatVo.timeDesc=='14-16'">
+                and hour(create_time)>=14 and hour(create_time) &lt;16
+            </if>
+            <if test="animalHeatVo.timeDesc=='16-18'">
+                and hour(create_time)>=16 and hour(create_time) &lt;18
+            </if>
+            <if test="animalHeatVo.timeDesc=='18-20'">
+                and hour(create_time)>=18 and hour(create_time) &lt;20
+            </if>
+            <if test="animalHeatVo.timeDesc=='20-22'">
+                and hour(create_time)>=20 and hour(create_time) &lt;22
+            </if>
+            <if test="animalHeatVo.timeDesc=='22-24'">
+                and hour(create_time)>=22 and hour(create_time) &lt;24
+            </if>
+        </if>
+        ORDER BY create_time desc
+    </select>
+
 </mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
index 4c35b60..cca3f9e 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
+++ b/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);
+
+
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
index f2134fe..176a7af 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
+++ b/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);
+	}
+
+
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/AnimalHeatExcel.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/AnimalHeatExcel.java
new file mode 100644
index 0000000..1f986f0
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/vo/AnimalHeatExcel.java
@@ -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度为高温
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/controller/healthcodeController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/controller/healthcodeController.java
index 3035c01..c6873e5 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/controller/healthcodeController.java
+++ b/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);
+	}
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java
index 97df574..c52b752 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java
+++ b/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);
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml
index 8d4298d..5bbaea7 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml
+++ b/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) &lt;2
+            </if>
+            <if test="healthcodeVO.timeDesc=='2-4'">
+                and hour(dtime)>=2 and hour(dtime) &lt;4
+            </if>
+            <if test="healthcodeVO.timeDesc=='4-6'">
+                and hour(dtime)>=4 and hour(dtime) &lt;6
+            </if>
+            <if test="healthcodeVO.timeDesc=='6-8'">
+                and hour(dtime)>=6 and hour(dtime) &lt;8
+            </if>
+            <if test="healthcodeVO.timeDesc=='8-10'">
+                and hour(dtime)>=8 and hour(dtime) &lt;10
+            </if>
+            <if test="healthcodeVO.timeDesc=='10-12'">
+                and hour(dtime)>=10 and hour(dtime) &lt;12
+            </if>
+            <if test="healthcodeVO.timeDesc=='12-14'">
+                and hour(dtime)>=12 and hour(dtime) &lt;14
+            </if>
+            <if test="healthcodeVO.timeDesc=='14-16'">
+                and hour(dtime)>=14 and hour(dtime) &lt;16
+            </if>
+            <if test="healthcodeVO.timeDesc=='16-18'">
+                and hour(dtime)>=16 and hour(dtime) &lt;18
+            </if>
+            <if test="healthcodeVO.timeDesc=='18-20'">
+                and hour(dtime)>=18 and hour(dtime) &lt;20
+            </if>
+            <if test="healthcodeVO.timeDesc=='20-22'">
+                and hour(dtime)>=20 and hour(dtime) &lt;22
+            </if>
+            <if test="healthcodeVO.timeDesc=='22-24'">
+                and hour(dtime)>=22 and hour(dtime) &lt;24
+            </if>
+        </if>
+        ORDER BY dtime desc
+    </select>
 </mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java
index 3b2d04f..c03f015 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java
+++ b/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);
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java
index a3e8fbd..a6d968b 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java
+++ b/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);
+	}
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/vo/HealthcodeExcel.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/vo/HealthcodeExcel.java
new file mode 100644
index 0000000..27f037f
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/vo/HealthcodeExcel.java
@@ -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;
+
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/controller/ParcelController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/controller/ParcelController.java
index 37ce46c..bd4f3da 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/controller/ParcelController.java
+++ b/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);
+	}
+
+
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java
index 931ca2b..d3b6d01 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java
+++ b/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);
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
index 77a8d84..4be1cbe 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
+++ b/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;
+	}
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/JsonUtils.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/JsonUtils.java
new file mode 100644
index 0000000..44565a9
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/JsonUtils.java
@@ -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;
+	}
+
+}
+
+
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParceLev.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParceLev.java
new file mode 100644
index 0000000..d5340ac
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParceLev.java
@@ -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() {
+	}
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelExcel.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelExcel.java
new file mode 100644
index 0000000..b7cc6ba
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelExcel.java
@@ -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;
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelKindExcel.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelKindExcel.java
new file mode 100644
index 0000000..455cf34
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/vo/ParcelKindExcel.java
@@ -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;
+
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/ListToStringConverter.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/ListToStringConverter.java
new file mode 100644
index 0000000..b99d268
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/ListToStringConverter.java
@@ -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());
+	}
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/LocalDateTimeConverter.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/LocalDateTimeConverter.java
new file mode 100644
index 0000000..915d4b1
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/LocalDateTimeConverter.java
@@ -0,0 +1,4 @@
+package org.springblade.jfpt.report.converter;
+
+public class LocalDateTimeConverter {
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/SexConverter.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/SexConverter.java
new file mode 100644
index 0000000..d6db501
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/report/converter/SexConverter.java
@@ -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) ? "女":"男");
+	}
+}

--
Gitblit v1.9.3