From 0f70534d41cffbd2d5779e53baa11ad0f4231637 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 19 Feb 2024 17:38:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java | 21 ++++
src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java | 35 +++++++
src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml | 119 +++++++++++++++++++++++
src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java | 12 ++
src/main/java/org/springblade/modules/place/excel/PlaceCheckExcel.java | 55 +++++++++++
src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java | 15 ++
6 files changed, 254 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java b/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java
index bc4201f..6e72df1 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java
@@ -21,14 +21,21 @@
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
+
+import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.secure.BladeUser;
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.modules.place.dto.PlaceCheckDTO;
+import org.springblade.modules.place.excel.NinePlaceExcel;
+import org.springblade.modules.place.excel.PlaceCheckExcel;
+import org.springblade.modules.place.vo.PlaceVO;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.place.entity.PlaceCheckEntity;
@@ -36,6 +43,8 @@
import org.springblade.modules.place.wrapper.PlaceCheckWrapper;
import org.springblade.modules.place.service.IPlaceCheckService;
import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.List;
/**
* 场所检查表 控制器
@@ -133,5 +142,17 @@
return R.status(placeCheckService.removeByIds(Func.toLongList(ids)));
}
+ /**
+ * 导出场所检查信息
+ * @param placeCheck
+ */
+ @GetMapping("export-placeCheck")
+ @ApiOperationSupport(order = 8)
+ @ApiOperation(value = "导出场所检查", notes = "传入placeCheck")
+ public void exportPlaceCheck(PlaceCheckVO placeCheck, HttpServletResponse response) {
+ List<PlaceCheckExcel> list = placeCheckService.exportPlaceCheck(placeCheck);
+ ExcelUtil.export(response, "场所检查" + DateUtil.time(), "场所检查记录表", list, PlaceCheckExcel.class);
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/place/excel/PlaceCheckExcel.java b/src/main/java/org/springblade/modules/place/excel/PlaceCheckExcel.java
new file mode 100644
index 0000000..00669b6
--- /dev/null
+++ b/src/main/java/org/springblade/modules/place/excel/PlaceCheckExcel.java
@@ -0,0 +1,55 @@
+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 java.io.Serializable;
+
+/**
+ * 场所检查
+ *
+ * @author zhongrj
+ * @date 2024/02/19
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class PlaceCheckExcel implements Serializable {
+
+ private static final long serialVersionUID = 2L;
+
+ /** 街道名称 */
+ @ExcelProperty( "所属街道")
+ private String streetName;
+
+ @ExcelProperty(value = "所属社区")
+ private String communityName;
+
+ @ExcelProperty(value = "所属网格")
+ private String gridName;
+
+ @ExcelProperty( value = "场所名称")
+ private String placeName;
+
+ @ExcelProperty( value = "场所隐患")
+ private String remark;
+
+ @ExcelProperty(value = "场所负责人")
+ private String principal;
+
+ @ExcelProperty(value = "场所负责人电话")
+ private String principalPhone;
+
+ @ExcelProperty(value = "场所地址")
+ private String location;
+
+ @ExcelProperty(value = "创建时间")
+ private String createTime;
+
+
+
+}
+
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
index 8cf063d..2d10b60 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
@@ -19,6 +19,7 @@
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.place.dto.PlaceCheckDTO;
import org.springblade.modules.place.entity.PlaceCheckEntity;
+import org.springblade.modules.place.excel.PlaceCheckExcel;
import org.springblade.modules.place.vo.PlaceCheckVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -61,5 +62,17 @@
*/
public List<PlaceCheckDTO> selectPlaceCheckList(PlaceCheckDTO placeCheckDTO);
-
+ /**
+ * 查询列表数据导出
+ *
+ * @param placeCheck
+ * @param isAdministrator
+ * @param regionChildCodesList
+ * @param gridCodeList
+ * @return
+ */
+ List<PlaceCheckExcel> selectPlaceCheckListExcel(@Param("placeCheck") PlaceCheckVO placeCheck,
+ @Param("isAdministrator") Integer isAdministrator,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("gridCodeList") List<String> gridCodeList);
}
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
index d36b477..b681699 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
@@ -252,5 +252,124 @@
</where>
</select>
+ <!--查询列表数据导出-->
+ <select id="selectPlaceCheckListExcel" resultType="org.springblade.modules.place.excel.PlaceCheckExcel">
+ SELECT
+ jpc.*,
+ jp.id jpid,
+ jp.place_name,
+ jp.location,
+ jg.grid_name,
+ jp.principal,
+ jp.principal_phone,
+ jp.nine_type,
+ jp.is_nine,
+ br.town_name as streetName,
+ br.village_name as communityName,
+ bu.`name`,
+ jpe.legal_tel,
+ jpe.legal_person
+ FROM
+ jczz_place_check jpc
+ LEFT JOIN jczz_place jp ON jpc.house_code = jp.house_code and jp.is_deleted = 0
+ LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code and jg.is_deleted = 0
+ LEFT JOIN blade_region br ON br.`code` = jg.community_code
+ LEFT JOIN jczz_place_ext jpe ON jpe.place_id = jp.id and jpe.is_deleted = 0
+ LEFT JOIN blade_user bu ON bu.id = jpc.create_user and bu.is_deleted = 0
+ LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
+ where jpc.is_deleted = 0
+ <if test="placeCheck.houseCode!=null and placeCheck.houseCode!=''">
+ and jpc.house_code = #{placeCheck.houseCode}
+ </if>
+
+ <if test="placeCheck.streetName!=null and placeCheck.streetName!=''">
+ and br.town_name like concat('%', #{placeCheck.streetName},'%')
+ </if>
+
+ <if test="placeCheck.communityName!=null and placeCheck.communityName!=''">
+ and br.village_name like concat('%', #{placeCheck.communityName},'%')
+ </if>
+
+ <if test="placeCheck.gridName!=null and placeCheck.gridName!=''">
+ and jg.grid_name like concat('%', #{placeCheck.gridName},'%')
+ </if>
+
+ <if test="placeCheck.placeName!=null and placeCheck.placeName!=''">
+ and jp.place_name like concat('%', #{placeCheck.placeName},'%')
+ </if>
+
+ <if test="placeCheck.principal!=null and placeCheck.principal!=''">
+ and jp.principal like concat('%', #{placeCheck.principal},'%')
+ </if>
+
+ <if test="placeCheck.principalPhone!=null and placeCheck.principalPhone!=''">
+ and jp.principal_phone like concat('%', #{placeCheck.principalPhone},'%')
+ </if>
+
+ <if test="placeCheck.startTime!=null and placeCheck.startTime!=''">
+ and date_format(jpc.create_time,'%Y-%m-%d') >= #{placeCheck.startTime}
+ </if>
+ <if test="placeCheck.endTime!=null and placeCheck.endTime!=''">
+ and date_format(jpc.create_time,'%Y-%m-%d') <= #{placeCheck.endTime}
+ </if>
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="placeCheck.roleName != null and placeCheck.roleName != ''">
+ <if test="placeCheck.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="placeCheck.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 in ('')
+ )
+ </otherwise>
+ </choose>
+ </otherwise>
+ </choose>
+ </if>
+ order by jpc.create_time desc
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java b/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java
index 2da3e26..10b4eef 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java
@@ -19,6 +19,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.place.dto.PlaceCheckDTO;
import org.springblade.modules.place.entity.PlaceCheckEntity;
+import org.springblade.modules.place.excel.NinePlaceExcel;
+import org.springblade.modules.place.excel.PlaceCheckExcel;
import org.springblade.modules.place.vo.PlaceCheckVO;
import org.springblade.core.mp.base.BaseService;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -51,7 +53,7 @@
* @param id 场所检查表ID
* @return 场所检查表
*/
- public PlaceCheckVO selectPlaceCheckById(Long id);
+ PlaceCheckVO selectPlaceCheckById(Long id);
/**
* 查询场所检查表列表
@@ -59,5 +61,11 @@
* @param placeCheckDTO 场所检查表
* @return 场所检查表集合
*/
- public List<PlaceCheckDTO> selectPlaceCheckList(PlaceCheckDTO placeCheckDTO);
+ List<PlaceCheckDTO> selectPlaceCheckList(PlaceCheckDTO placeCheckDTO);
+
+ /**
+ * 导出场所检查信息
+ * @param placeCheck
+ */
+ List<PlaceCheckExcel> exportPlaceCheck(PlaceCheckVO placeCheck);
}
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
index b417634..345128f 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
@@ -34,6 +34,8 @@
import org.springblade.modules.patrol.service.IPatrolRecordService;
import org.springblade.modules.place.dto.PlaceCheckDTO;
import org.springblade.modules.place.entity.PlaceCheckEntity;
+import org.springblade.modules.place.excel.NinePlaceExcel;
+import org.springblade.modules.place.excel.PlaceCheckExcel;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.modules.place.vo.PlaceCheckVO;
import org.springblade.modules.place.mapper.PlaceCheckMapper;
@@ -175,4 +177,37 @@
public List<PlaceCheckDTO> selectPlaceCheckList(PlaceCheckDTO placeCheckDTO) {
return this.baseMapper.selectPlaceCheckList(placeCheckDTO);
}
+
+ /**
+ * 导出场所检查信息
+ * @param placeCheck
+ */
+ @Override
+ public List<PlaceCheckExcel> exportPlaceCheck(PlaceCheckVO placeCheck) {
+ String roleName = SpringUtils.getRequestParam("roleName");
+ String communityCode = SpringUtils.getRequestParam("communityCode");
+ if (!Strings.isBlank(communityCode)){
+ // 校验社区编号是否合规
+ if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
+ placeCheck.setCommunityCode(communityCode);
+ }
+ }
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+ // 网格编号集合
+ List<String> gridCodeList = new ArrayList<>();
+ // 民警角色
+ if (!Strings.isBlank(roleName)){
+ placeCheck.setRoleName(roleName);
+ if(roleName.equals("mj")) {
+ regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId());
+ }
+ if (roleName.equals("wgy")) {
+ gridCodeList = SpringUtil.getBean(IGridService.class).getGridListByUserId(AuthUtil.getUserId());
+ }
+ }
+ List<PlaceCheckExcel> placeCheckVOS = baseMapper.selectPlaceCheckListExcel(placeCheck,isAdministrator,regionChildCodesList,gridCodeList);
+ // 返回
+ return placeCheckVOS;
+ }
}
--
Gitblit v1.9.3