From 2c42c9540fd3e841076d14f23dad7a99439b443b Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 15 May 2024 17:23:24 +0800
Subject: [PATCH] 场所导出新增
---
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java | 12 +
src/main/java/org/springblade/modules/place/service/IPlaceService.java | 8 +
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java | 17 ++
src/main/java/org/springblade/modules/place/controller/PlaceController.java | 12 ++
src/main/java/org/springblade/modules/place/excel/ExportPlaceExcel.java | 130 +++++++++++++++++++++
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml | 135 ++++++++++++++++++++++
6 files changed, 313 insertions(+), 1 deletions(-)
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceController.java b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
index b5df254..952870c 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -260,6 +260,18 @@
}
/**
+ * 导出场所信息
+ */
+ @GetMapping("export-place")
+ @ApiOperationSupport(order = 13)
+ @ApiLog("导出场所信息")
+ @ApiOperation(value = "导出场所信息", notes = "传入place")
+ public void exportPlace(PlaceVO place, HttpServletResponse response) {
+ List<ExportPlaceExcel> list = placeService.exportPlaceList(place);
+ ExcelUtil.export(response, "场所数据管理" + DateUtil.time(), "场所数据表", list, ExportPlaceExcel.class);
+ }
+
+ /**
* 导出模板
*/
@GetMapping("export-template")
diff --git a/src/main/java/org/springblade/modules/place/excel/ExportPlaceExcel.java b/src/main/java/org/springblade/modules/place/excel/ExportPlaceExcel.java
new file mode 100644
index 0000000..7fa9c67
--- /dev/null
+++ b/src/main/java/org/springblade/modules/place/excel/ExportPlaceExcel.java
@@ -0,0 +1,130 @@
+package org.springblade.modules.place.excel;
+
+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.common.excel.ExcelDictConverter;
+import org.springblade.common.excel.ExcelDictItem;
+import org.springblade.common.excel.ExcelDictItemLabel;
+
+import java.io.Serializable;
+
+/**
+ * ExportPlaceExcel
+ *
+ * @author Chill
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class ExportPlaceExcel implements Serializable {
+
+ private static final long serialVersionUID = 2L;
+
+ /** 场所名称 */
+ @ColumnWidth(25)
+ @ExcelProperty( "场所名称*")
+ private String placeName;
+
+ /** 场所负责人 */
+ @ColumnWidth(15)
+ @ExcelProperty( "场所负责人")
+ private String principal;
+
+ /** 场所负责人联系电话 */
+ @ColumnWidth(15)
+ @ExcelProperty( "场所负责人联系电话")
+ private String principalPhone;
+
+ /** 场所负责人身份证号 */
+ @ColumnWidth(15)
+ @ExcelProperty( "场所负责人身份证号")
+ private String principalIdCard;
+
+ /** 地址 */
+ @ColumnWidth(25)
+ @ExcelProperty( "地址")
+ private String location;
+
+ /** 经度 */
+ @ColumnWidth(25)
+ @ExcelProperty( "经度")
+ private String lng;
+
+ /** 纬度 */
+ @ColumnWidth(25)
+ @ExcelProperty( "纬度")
+ private String lat;
+
+ /** 街道名称 */
+ @ExcelProperty( "街道名称")
+ private String streetName;
+
+ /** 社区名称 */
+ @ExcelProperty( "社区名称")
+ private String communityName;
+
+ /** 网格名称 */
+ @ExcelProperty( "网格名称")
+ private String gridName;
+
+//
+// /** 企业法定代表 */
+// @ColumnWidth(15)
+// @ExcelProperty( "企业法定代表")
+// private String legalPerson;
+//
+// /** 法定代表联系电话 */
+// @ColumnWidth(15)
+// @ExcelProperty( "法定代表联系电话")
+// private String legalTel;
+//
+// /** 企业法定代表身份证号码 */
+// @ColumnWidth(15)
+// @ExcelProperty( "企业法定代表身份证号码")
+// private String legalIdCard;
+
+ /** 九小场所类型 */
+ @ExcelProperty( value = "九小场所类型",converter = ExcelDictConverter.class)
+ @ExcelDictItem(type = "nineType")
+ @ExcelDictItemLabel(type = "nineType")
+ private String nineType;
+
+ /** 阵地类型 */
+ @ExcelProperty( value = "阵地类型",converter = ExcelDictConverter.class)
+ @ExcelDictItem(type = "frontType")
+ @ExcelDictItemLabel(type = "frontType")
+ private String frontType;
+
+ /** 1:是 2:否 三级消防单位 */
+ @ExcelProperty("三级消防单位(是/否)")
+ private String threeFireProtection;
+
+ /** 无诈类别 */
+ @ExcelProperty(value = "无诈类别", converter = ExcelDictConverter.class)
+ @ExcelDictItem(type = "noExplosionCategory")
+ @ExcelDictItemLabel(type = "noExplosionCategory")
+ private String noExplosionCategory;
+
+ /** 标签分类代码 */
+ @ExcelProperty( "标签分类代码")
+ private String labelCode;
+
+ /** 备注 */
+ @ExcelProperty( "备注")
+ private String remark;
+
+ /** 审核状态 */
+ @ExcelProperty( "审核状态")
+ private String confirmFlag;
+
+ /** 是否有二维码 */
+ @ExcelProperty( "是否有二维码")
+ private String source;
+
+
+}
+
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
index 0a00735..2342e7b 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -19,6 +19,7 @@
import org.apache.ibatis.annotations.Param;
import org.springblade.common.node.TreeStringNode;
import org.springblade.modules.place.entity.PlaceEntity;
+import org.springblade.modules.place.excel.ExportPlaceExcel;
import org.springblade.modules.place.excel.NinePlaceExcel;
import org.springblade.modules.place.excel.PlaceAndRelExcel;
import org.springblade.modules.place.vo.PlaceVO;
@@ -41,7 +42,6 @@
*
* @param page
* @param place
- * @param houseCodeList
* @param regionChildCodesList
* @param isAdministrator
* @return
@@ -233,4 +233,14 @@
* @return
*/
String getCommunityCode(@Param("id") Long id);
+
+ /**
+ * 导出场所信息
+ * @param place
+ * @return
+ */
+ List<ExportPlaceExcel> exportPlaceList(@Param("place") PlaceVO place,
+ @Param("gridCodeList") List<String> gridCodeList,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator);
}
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index a129d74..ac6b359 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -944,4 +944,139 @@
and jp.id = #{id}
</select>
+ <!--导出场所信息-->
+ <select id="exportPlaceList" resultType="org.springblade.modules.place.excel.ExportPlaceExcel">
+ select
+ jp.id,
+ jp.location,
+ jp.lng,
+ jp.lat,
+ jp.place_name,
+ jp.principal,
+ jp.principal_phone,
+ jp.principal_id_card,
+ jp.nine_type,
+ jp.front_type,
+ jp.no_explosion_category,
+ jp.remark,
+ case when jp.source=1 then '是'
+ else '否' end as source,
+ case when jp.three_fire_protection=1 then '是'
+ when jp.three_fire_protection=2 then '否'
+ end as threeFireProtection,
+ jpe.legal_person,
+ jpe.legal_tel,
+ jpe.legal_id_card,
+ jppl.labelCode,
+ br.town_name as streetName,
+ br.name as communityName,
+ jg.grid_name as gridName,
+ case when jpe.confirm_flag = 1 then '待审核'
+ when jpe.confirm_flag = 2 then '审核通过'
+ when jpe.confirm_flag = 3 then '审核不通过'
+ when jpe.confirm_flag = 4 then '待完善'
+ end as confirmFlag
+ from jczz_place jp
+ left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
+ left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
+ left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
+ LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
+ left join blade_region br on br.code = jpag.community_code
+ left join (
+ select place_id,GROUP_CONCAT(poi_code) as labelCode from jczz_place_poi_label group by place_id
+ ) jppl on jppl.place_id = jp.id
+ where jp.is_deleted = 0 and jp.source!=3
+ and jp.place_name != ''
+ <if test="place.placeName!=null and place.placeName!=''">
+ and jp.place_name like concat('%',#{place.placeName},'%')
+ </if>
+ <if test="place.principal!=null and place.principal!=''">
+ and jp.principal like concat('%',#{place.principal},'%')
+ </if>
+ <if test="place.principalPhone!=null and place.principalPhone!=''">
+ and jp.principal_phone like concat('%',#{place.principalPhone},'%')
+ </if>
+ <if test="place.houseCode!=null and place.houseCode!=''">
+ and jp.house_code like concat('%',#{place.houseCode},'%')
+ </if>
+ <if test="place.townStreetName!=null and place.townStreetName!=''">
+ and br.town_name like concat('%',#{place.townStreetName},'%')
+ </if>
+ <if test="place.neiName!=null and place.neiName!=''">
+ and br.name like concat('%',#{place.neiName},'%')
+ </if>
+ <if test="place.id!=null">
+ and jp.id = #{place.id}
+ </if>
+ <if test="place.isNine!=null">
+ and jp.is_nine = #{place.isNine}
+ </if>
+ <if test="place.source!=null">
+ and jp.source = #{place.source}
+ </if>
+ <if test="place.isPerfect==1">
+ and jp.status = 1
+ </if>
+ <if test="place.isPerfect==2">
+ and jp.status = 2
+ </if>
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="place.roleName != null and place.roleName != ''">
+ <if test="place.roleName=='wgy'">
+ <choose>
+ <when test="gridCodeList !=null and gridCodeList.size()>0">
+ and jp.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jp.grid_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ <if test="place.roleName=='mj'">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jpag.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jpag.community_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ </when>
+ <otherwise>
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and
+ (
+ jg.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ or
+ jpag.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ )
+ </when>
+ <otherwise>
+ and
+ (
+ jg.grid_code in ('') or jpag.community_code in ('')
+ )
+ </otherwise>
+ </choose>
+ </otherwise>
+ </choose>
+ </if>
+ order by jp.create_time desc,jp.id desc
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceService.java b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
index ff81d13..6ec5163 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -19,6 +19,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.common.node.TreeStringNode;
import org.springblade.modules.place.entity.PlaceEntity;
+import org.springblade.modules.place.excel.ExportPlaceExcel;
import org.springblade.modules.place.excel.NinePlaceExcel;
import org.springblade.modules.place.excel.PlaceAndRelExcel;
import org.springblade.modules.place.excel.ImportPlaceExcel;
@@ -209,4 +210,11 @@
* @return
*/
String getCommunityCode(Long id);
+
+ /**
+ * 导出场所信息
+ * @param place
+ * @return
+ */
+ List<ExportPlaceExcel> exportPlaceList(PlaceVO place);
}
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index f0adab3..49f0ab7 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -41,6 +41,7 @@
import org.springblade.modules.house.entity.HouseholdEntity;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.place.entity.*;
+import org.springblade.modules.place.excel.ExportPlaceExcel;
import org.springblade.modules.place.excel.NinePlaceExcel;
import org.springblade.modules.place.excel.PlaceAndRelExcel;
import org.springblade.modules.place.excel.ImportPlaceExcel;
@@ -1789,4 +1790,20 @@
public String getCommunityCode(Long id) {
return baseMapper.getCommunityCode(id);
}
+
+ /**
+ * 导出场所信息
+ * @param place
+ * @return
+ */
+ @Override
+ public List<ExportPlaceExcel> exportPlaceList(PlaceVO place) {
+ // 公共参数设置
+ CommonParamSet commonParamSet = new CommonParamSet().invoke(PlaceVO.class, place);
+ return baseMapper.exportPlaceList(place,
+ commonParamSet.getGridCodeList(),
+ commonParamSet.getRegionChildCodesList(),
+ commonParamSet.getIsAdministrator()
+ );
+ }
}
--
Gitblit v1.9.3