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>=#{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>
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) <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>
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) <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>
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