From 870510b1a1de5f55f9e5e61be65fe4761e431883 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 20 Feb 2024 10:27:26 +0800
Subject: [PATCH] 二手交易新增导出
---
src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.java | 16 ++
src/main/java/org/springblade/modules/task/excel/TaskLabelReportingEventExcel.java | 82 +++++++++++
src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java | 47 ++---
src/main/java/org/springblade/common/param/CommonParamSet.java | 91 +++++++++++++
src/main/java/org/springblade/modules/task/controller/TaskLabelReportingEventController.java | 18 ++
src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.xml | 118 ++++++++++++++++
src/main/java/org/springblade/modules/task/service/ITaskLabelReportingEventService.java | 7 +
7 files changed, 351 insertions(+), 28 deletions(-)
diff --git a/src/main/java/org/springblade/common/param/CommonParamSet.java b/src/main/java/org/springblade/common/param/CommonParamSet.java
new file mode 100644
index 0000000..8d24fc1
--- /dev/null
+++ b/src/main/java/org/springblade/common/param/CommonParamSet.java
@@ -0,0 +1,91 @@
+package org.springblade.common.param;
+
+import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.cache.SysCache;
+import org.springblade.common.utils.SpringUtils;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.grid.service.IGridService;
+import org.springblade.modules.police.service.IPoliceAffairsGridService;
+import org.springblade.modules.system.service.IRegionService;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+public class CommonParamSet<T> {
+ /**
+ * 区域编号集合
+ */
+ private List<String> regionChildCodesList;
+ /**
+ * 是否为超级管理员
+ */
+ private Integer isAdministrator;
+ /**
+ * 网格编号集合
+ */
+ private List<String> gridCodeList;
+
+ public List<String> getRegionChildCodesList() {
+ return regionChildCodesList;
+ }
+
+ public Integer getIsAdministrator() {
+ return isAdministrator;
+ }
+
+ public List<String> getGridCodeList() {
+ return gridCodeList;
+ }
+
+ public <U> CommonParamSet invoke(Class<U> clazz, T t) {
+ //获取传入对象信息
+ U u = clazz.cast(t);
+ try {
+ Field roleNameField = u.getClass().getDeclaredField("roleName");
+ Field communityCodeField = u.getClass().getDeclaredField("communityCode");
+ // 获取请求头中的角色别名
+ String roleName = SpringUtils.getRequestParam("roleName");
+ // 获取请求头中的社区编号
+ String communityCode = SpringUtils.getRequestParam("communityCode");
+ if (!Strings.isBlank(communityCode)) {
+ // 校验社区编号是否合规
+ if (null != SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
+ // 设置社区编号
+ communityCodeField.setAccessible(true);
+ communityCodeField.set(t,communityCode);
+ }
+ }
+ isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
+ if (isAdministrator==2) {
+ // 获取当前用户的所属行政区划编号
+ regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ // 获取网格编号集合
+ gridCodeList = new ArrayList<>();
+ if (!Strings.isBlank(roleName)) {
+ // 设置角色别名
+ roleNameField.setAccessible(true);
+ roleNameField.set(t, 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());
+ }
+ }
+ // 特定账号设置
+ if (AuthUtil.getUserAccount().equals("18879306957")) {
+ // 设置社区编号
+ communityCodeField.setAccessible(true);
+ communityCodeField.set(t, "361102003027");
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return this;
+ }
+}
diff --git a/src/main/java/org/springblade/modules/task/controller/TaskLabelReportingEventController.java b/src/main/java/org/springblade/modules/task/controller/TaskLabelReportingEventController.java
index fef6404..2ee2f57 100644
--- a/src/main/java/org/springblade/modules/task/controller/TaskLabelReportingEventController.java
+++ b/src/main/java/org/springblade/modules/task/controller/TaskLabelReportingEventController.java
@@ -23,18 +23,25 @@
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.modules.place.excel.PlaceCheckExcel;
+import org.springblade.modules.place.vo.PlaceCheckVO;
import org.springblade.modules.task.dto.TaskLabelReportingEventDTO;
import org.springblade.modules.task.entity.TaskLabelReportingEventEntity;
+import org.springblade.modules.task.excel.TaskLabelReportingEventExcel;
import org.springblade.modules.task.service.ITaskLabelReportingEventService;
import org.springblade.modules.task.vo.TaskLabelReportingEventVO;
import org.springblade.modules.task.wrapper.TaskLabelReportingEventWrapper;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import java.util.List;
/**
* 打金店报事 控制器
@@ -122,5 +129,16 @@
return R.status(taskLabelReportingEventService.removeByIds(Func.toLongList(ids)));
}
+ /**
+ * 导出二手交易信息
+ * @param taskLabelReportingEvent
+ */
+ @GetMapping("export-taskLabelReportingEvent")
+ @ApiOperationSupport(order = 8)
+ @ApiOperation(value = "导出交易登记信息", notes = "传入taskLabelReportingEvent")
+ public void exportTaskLabelReportingEvent(TaskLabelReportingEventVO taskLabelReportingEvent, HttpServletResponse response) {
+ List<TaskLabelReportingEventExcel> list = taskLabelReportingEventService.exportTaskLabelReportingEvent(taskLabelReportingEvent);
+ ExcelUtil.export(response, "交易登记" + DateUtil.time(), "交易登记表", list, TaskLabelReportingEventExcel.class);
+ }
}
diff --git a/src/main/java/org/springblade/modules/task/excel/TaskLabelReportingEventExcel.java b/src/main/java/org/springblade/modules/task/excel/TaskLabelReportingEventExcel.java
new file mode 100644
index 0000000..cb4454c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/task/excel/TaskLabelReportingEventExcel.java
@@ -0,0 +1,82 @@
+package org.springblade.modules.task.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;
+
+/**
+ * 二手交易记录
+ *
+ * @author zhongrj
+ * @date 2024/02/20
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class TaskLabelReportingEventExcel implements Serializable {
+
+ private static final long serialVersionUID = 2L;
+
+ @ExcelProperty(value = "场所负责人")
+ private String principal;
+
+ @ExcelProperty(value = "场所负责人电话")
+ private String principalPhone;
+
+ @ExcelProperty( value = "场所名称")
+ private String placeName;
+
+ @ExcelProperty( value = "阵地类型",converter = ExcelDictConverter.class)
+ @ExcelDictItem(type = "frontType")
+ private String frontType;
+
+ /** 街道名称 */
+ @ExcelProperty( "交易对象")
+ private String transactionObject;
+
+ @ExcelProperty(value = "交易对象电话")
+ private String transactionObjectTel;
+
+ @ExcelProperty(value = "身份证号码")
+ private String idCard;
+
+ @ExcelProperty( value = "交易数量")
+ private Integer goodsNums;
+
+ @ExcelProperty( value = "交易金额")
+ private Float transactionMoney;
+
+ @ExcelProperty( value = "交易过程")
+ private String transactionProcess;
+
+ @ExcelProperty( value = "发生时间")
+ private String createTime;
+
+ @ExcelProperty(value = "地址")
+ private String location;
+
+ @ExcelProperty( "所属街道")
+ private String streetName;
+
+ @ExcelProperty(value = "所属社区")
+ private String communityName;
+
+
+ @ExcelProperty(value = "审核状态")
+ private String confirmFlag;
+
+ @ExcelProperty(value = "审核意见")
+ private String confirmNotion;
+
+
+
+}
+
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.java b/src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.java
index c1f9379..4fef9e4 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.java
@@ -19,6 +19,7 @@
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.task.dto.TaskLabelReportingEventDTO;
import org.springblade.modules.task.entity.TaskLabelReportingEventEntity;
+import org.springblade.modules.task.excel.TaskLabelReportingEventExcel;
import org.springblade.modules.task.vo.TaskLabelReportingEventVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -46,7 +47,6 @@
@Param("gridCodeList") List<String> gridCodeList);
-
/**
* 查询打金店报事
*
@@ -62,4 +62,18 @@
* @return 打金店报事集合
*/
public List<TaskLabelReportingEventDTO> selectTaskLabelReportingEventList(TaskLabelReportingEventDTO taskLabelReportingEventDTO);
+
+ /**
+ * 导出二手交易信息
+ *
+ * @param taskLabelReportingEvent
+ * @param regionChildCodesList
+ * @param isAdministrator
+ * @param gridCodeList
+ * @return
+ */
+ List<TaskLabelReportingEventExcel> exportTaskLabelReportingEventList(@Param("taskLabelReportingEvent") TaskLabelReportingEventVO taskLabelReportingEvent,
+ @Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("isAdministrator") Integer isAdministrator,
+ @Param("gridCodeList") List<String> gridCodeList);
}
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.xml
index d3ae7a4..b18aad5 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskLabelReportingEventMapper.xml
@@ -138,6 +138,7 @@
</otherwise>
</choose>
</if>
+ order by jtlre.create_time desc,jtlre.id desc
</select>
@@ -252,5 +253,122 @@
</where>
</select>
+ <!--二手交易自定义分页查询-->
+ <select id="exportTaskLabelReportingEventList" resultType="org.springblade.modules.task.excel.TaskLabelReportingEventExcel">
+ select
+ jtlre.id,
+ jtlre.transaction_object,
+ jtlre.transaction_object_tel,
+ jtlre.id_card,
+ jtlre.goods_nums,
+ jtlre.transaction_money,
+ jtlre.transaction_process,
+ case when jtlre.confirm_flag=1 then '待审核'
+ when jtlre.confirm_flag=2 then '审核通过'
+ when jtlre.confirm_flag=3 then '审核不通过'
+ else '待完成' end as confirm_flag,
+ jtlre.confirm_notion,
+ jtlre.create_time,
+ jp.place_name,
+ jp.principal,
+ jp.principal_phone,
+ jp.nine_type ,
+ jp.front_type ,
+ jp.location,
+ br.town_name streetName,
+ br.village_name communityName
+ from
+ jczz_task_label_reporting_event jtlre
+ LEFT JOIN jczz_place jp ON jtlre.place_id=jp.id and jp.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
+ where jtlre.is_deleted = 0
+ <if test="taskLabelReportingEvent.userId != null and taskLabelReportingEvent.userId != ''">
+ AND jtlre.user_id = #{taskLabelReportingEvent.userId}
+ </if>
+ <if test="taskLabelReportingEvent.eventType != null and taskLabelReportingEvent.eventType != ''">
+ AND jtlre.event_type = #{taskLabelReportingEvent.eventType}
+ </if>
+ <if test="taskLabelReportingEvent.transactionObject != null and taskLabelReportingEvent.transactionObject != ''">
+ AND jtlre.transaction_object like concat('%',#{taskLabelReportingEvent.transactionObject},'%')
+ </if>
+ <if test="taskLabelReportingEvent.transactionObjectTel != null and taskLabelReportingEvent.transactionObjectTel != ''">
+ AND jtlre.transaction_object_tel like concat('%',#{taskLabelReportingEvent.transactionObjectTel},'%')
+ </if>
+ <if test="taskLabelReportingEvent.idCard != null and taskLabelReportingEvent.idCard != ''">
+ AND jtlre.id_card like concat('%',#{taskLabelReportingEvent.idCard},'%')
+ </if>
+ <if test="taskLabelReportingEvent.frontType != null ">
+ AND jp.front_type = #{taskLabelReportingEvent.frontType}
+ </if>
+ <if test="taskLabelReportingEvent.placeName != null and taskLabelReportingEvent.placeName != ''">
+ AND jp.place_name like concat('%',#{taskLabelReportingEvent.placeName},'%')
+ </if>
+ <if test="taskLabelReportingEvent.principal != null and taskLabelReportingEvent.principal != ''">
+ AND jp.principal like concat('%',#{taskLabelReportingEvent.principal},'%')
+ </if>
+ <if test="taskLabelReportingEvent.principalPhone != null and taskLabelReportingEvent.principalPhone != ''">
+ AND jp.principal_phone like concat('%',#{taskLabelReportingEvent.principalPhone},'%')
+ </if>
+ <if test="taskLabelReportingEvent.roleName != null and taskLabelReportingEvent.roleName != ''">
+ <if test="taskLabelReportingEvent.roleName=='wgy'">
+ <if test="isAdministrator==2">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jp.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jp.grid_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ </if>
+ <if test="taskLabelReportingEvent.roleName=='mj'">
+ <if test="isAdministrator==2">
+ <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>
+ </if>
+ </if>
+ <if test="isAdministrator==2">
+ <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
+ br.village_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ )
+ </when>
+ <otherwise>
+ and
+ (
+ jg.grid_code in ('') or br.village_code in ('')
+ )
+ </otherwise>
+ </choose>
+ </if>
+ order by jtlre.create_time desc,jtlre.id desc
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/task/service/ITaskLabelReportingEventService.java b/src/main/java/org/springblade/modules/task/service/ITaskLabelReportingEventService.java
index 840b446..382a6ec 100644
--- a/src/main/java/org/springblade/modules/task/service/ITaskLabelReportingEventService.java
+++ b/src/main/java/org/springblade/modules/task/service/ITaskLabelReportingEventService.java
@@ -21,6 +21,7 @@
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.task.dto.TaskLabelReportingEventDTO;
import org.springblade.modules.task.entity.TaskLabelReportingEventEntity;
+import org.springblade.modules.task.excel.TaskLabelReportingEventExcel;
import org.springblade.modules.task.vo.TaskLabelReportingEventVO;
import java.util.List;
@@ -62,4 +63,10 @@
* @return 打金店报事集合
*/
public List<TaskLabelReportingEventDTO> selectTaskLabelReportingEventList(TaskLabelReportingEventDTO taskLabelReportingEventDTO);
+
+ /**
+ * 导出二手交易信息
+ * @param taskLabelReportingEvent
+ */
+ List<TaskLabelReportingEventExcel> exportTaskLabelReportingEvent(TaskLabelReportingEventVO taskLabelReportingEvent);
}
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java
index 910f762..31156ba 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java
@@ -19,12 +19,11 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.DictConstant;
+import org.springblade.common.param.CommonParamSet;
import org.springblade.common.utils.SpringUtils;
-import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.grid.service.IGridService;
@@ -34,6 +33,7 @@
import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.task.dto.TaskLabelReportingEventDTO;
import org.springblade.modules.task.entity.TaskLabelReportingEventEntity;
+import org.springblade.modules.task.excel.TaskLabelReportingEventExcel;
import org.springblade.modules.task.mapper.TaskLabelReportingEventMapper;
import org.springblade.modules.task.service.ITaskLabelReportingEventService;
import org.springblade.modules.task.service.ITaskService;
@@ -65,31 +65,10 @@
@Override
public IPage<TaskLabelReportingEventVO> selectTaskLabelReportingEventPage(IPage<TaskLabelReportingEventVO> page, TaskLabelReportingEventVO taskLabelReportingEvent) {
- String roleName = SpringUtils.getRequestParam("roleName");
- String communityCode = SpringUtils.getRequestParam("communityCode");
- if (!Strings.isBlank(communityCode)) {
- // 校验社区编号是否合规
- if (null != SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
- taskLabelReportingEvent.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)) {
- taskLabelReportingEvent.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());
- }
- }
- if (AuthUtil.getUserAccount().equals("18879306957")) {
- taskLabelReportingEvent.setCommunityCode("361102003027");
- }
+ CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskLabelReportingEventVO.class,taskLabelReportingEvent);
+ List<String> regionChildCodesList = commonParamSet.getRegionChildCodesList();
+ Integer isAdministrator = commonParamSet.getIsAdministrator();
+ List<String> gridCodeList = commonParamSet.getGridCodeList();
return page.setRecords(baseMapper.selectTaskLabelReportingEventPage(page, taskLabelReportingEvent,regionChildCodesList,isAdministrator,gridCodeList));
}
@@ -157,4 +136,18 @@
return this.baseMapper.selectTaskLabelReportingEventList(taskLabelReportingEventDTO);
}
+ /**
+ * 导出二手交易信息
+ * @param taskLabelReportingEvent
+ */
+ @Override
+ public List<TaskLabelReportingEventExcel> exportTaskLabelReportingEvent(TaskLabelReportingEventVO taskLabelReportingEvent) {
+ // 公共参数设置
+ CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskLabelReportingEventVO.class,taskLabelReportingEvent);
+ return baseMapper.exportTaskLabelReportingEventList(taskLabelReportingEvent,
+ commonParamSet.getRegionChildCodesList(),
+ commonParamSet.getIsAdministrator(),
+ commonParamSet.getGridCodeList());
+ }
+
}
--
Gitblit v1.9.3