From 5385f7748062cc72c7b1d5c8651630751abe5a41 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 02 Feb 2024 20:05:42 +0800
Subject: [PATCH] 社区警格操作调整
---
src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java | 63 +++------
src/main/java/org/springblade/modules/police/excel/PoliceStationExcel.java | 34 +++++
src/main/java/org/springblade/modules/police/excel/PoliceStationImporter.java | 24 ++++
src/main/java/org/springblade/modules/police/service/IPoliceStationService.java | 9 +
src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java | 9 +
src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridImporter.java | 24 ++++
src/main/java/org/springblade/modules/police/controller/PoliceStationController.java | 33 ++---
src/main/java/org/springblade/modules/police/controller/PoliceAffairsGridController.java | 16 ++
src/main/java/org/springblade/modules/police/service/impl/PoliceStationServiceImpl.java | 38 ++++++
src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java | 39 ++++++
src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridExcel.java | 50 ++++++++
src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java | 7 +
src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java | 2
13 files changed, 287 insertions(+), 61 deletions(-)
diff --git a/src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java b/src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java
index 02e1cca..602241d 100644
--- a/src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java
+++ b/src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java
@@ -76,6 +76,13 @@
one.setGeom(communityExcel.getGeom());
// 更新
updateById(one);
+ }else {
+ // 新增
+ CommunityEntity communityEntity = new CommunityEntity();
+ communityEntity.setCode(communityExcel.getCommunityCode());
+ communityEntity.setName(communityExcel.getCommunityName());
+ communityEntity.setGeom(communityExcel.getGeom());
+ save(communityEntity);
}
}
}
diff --git a/src/main/java/org/springblade/modules/police/controller/PoliceAffairsGridController.java b/src/main/java/org/springblade/modules/police/controller/PoliceAffairsGridController.java
index 58f82c6..1932858 100644
--- a/src/main/java/org/springblade/modules/police/controller/PoliceAffairsGridController.java
+++ b/src/main/java/org/springblade/modules/police/controller/PoliceAffairsGridController.java
@@ -23,11 +23,16 @@
import lombok.AllArgsConstructor;
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.Func;
+import org.springblade.modules.police.excel.PoliceAffairsGridExcel;
+import org.springblade.modules.police.excel.PoliceAffairsGridImporter;
+import org.springblade.modules.police.excel.PoliceStationExcel;
+import org.springblade.modules.police.excel.PoliceStationImporter;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
@@ -35,6 +40,7 @@
import org.springblade.modules.police.wrapper.PoliceAffairsGridWrapper;
import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.core.boot.ctrl.BladeController;
+import org.springframework.web.multipart.MultipartFile;
/**
* 警务网格(辖区)表 控制器
@@ -122,5 +128,15 @@
return R.status(policeAffairsGridService.removeByIds(Func.toLongList(ids)));
}
+ /**
+ * 导入警务辖区数据
+ */
+ @PostMapping("/import-policeAffairsGrid")
+ public R importPoliceAffairsGrid(MultipartFile file, Integer isCovered) {
+ PoliceAffairsGridImporter policeAffairsGridImporter = new PoliceAffairsGridImporter(policeAffairsGridService, isCovered == 1);
+ ExcelUtil.save(file, policeAffairsGridImporter, PoliceAffairsGridExcel.class);
+ return R.success("操作成功");
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/police/controller/PoliceStationController.java b/src/main/java/org/springblade/modules/police/controller/PoliceStationController.java
index 843b962..3dc9460 100644
--- a/src/main/java/org/springblade/modules/police/controller/PoliceStationController.java
+++ b/src/main/java/org/springblade/modules/police/controller/PoliceStationController.java
@@ -1,19 +1,3 @@
-/*
- * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * Neither the name of the dreamlu.net developer nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * Author: Chill 庄骞 (smallchill@163.com)
- */
package org.springblade.modules.police.controller;
import io.swagger.annotations.Api;
@@ -22,19 +6,20 @@
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
-
-import org.springblade.core.secure.BladeUser;
+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.Func;
+import org.springblade.modules.police.excel.PoliceStationExcel;
+import org.springblade.modules.police.excel.PoliceStationImporter;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.police.entity.PoliceStationEntity;
import org.springblade.modules.police.vo.PoliceStationVO;
import org.springblade.modules.police.wrapper.PoliceStationWrapper;
import org.springblade.modules.police.service.IPoliceStationService;
-import org.springblade.core.boot.ctrl.BladeController;
+import org.springframework.web.multipart.MultipartFile;
/**
* 派出所信息表 控制器
@@ -122,5 +107,15 @@
return R.status(policeStationService.removeByIds(Func.toLongList(ids)));
}
+ /**
+ * 导入派出所数据
+ */
+ @PostMapping("/import-policeStation")
+ public R importPoliceStation(MultipartFile file, Integer isCovered) {
+ PoliceStationImporter policeStationImporter = new PoliceStationImporter(policeStationService, isCovered == 1);
+ ExcelUtil.save(file, policeStationImporter, PoliceStationExcel.class);
+ return R.success("操作成功");
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java b/src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java
index b1e2acd..f4c65f7 100644
--- a/src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java
+++ b/src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java
@@ -9,6 +9,8 @@
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
+
+import org.springblade.modules.grid.handle.GeometryTypeHandler;
import org.springframework.format.annotation.DateTimeFormat;
/**
@@ -30,32 +32,22 @@
@ApiModelProperty("主键id")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
+ /**
+ * 警务网格编号
+ */
+ @ApiModelProperty(value = "警务网格编号")
+ private String jwGridCode;
+ /**
+ * 派出所编号
+ */
+ @ApiModelProperty(value = "派出所编号")
+ private String pcsCode;
+ /**
+ * 派出所名称
+ */
+ @ApiModelProperty(value = "派出所名称")
+ private String pcsName;
- /**
- * objectId
- */
- @ApiModelProperty(value = "objectId")
- private Integer objectId;
- /**
- * 警务室代码
- */
- @ApiModelProperty(value = "警务室代码")
- private String jwsCode;
- /**
- * 民警用户id
- */
- @ApiModelProperty(value = "民警用户id")
- private Long userId;
- /**
- * 民警姓名
- */
- @ApiModelProperty(value = "民警姓名")
- private String policeman;
- /**
- * 民警联系方式
- */
- @ApiModelProperty(value = "民警联系方式")
- private String policemanPhone;
/**
* 社区编号
*/
@@ -67,27 +59,18 @@
@ApiModelProperty(value = "社区名称")
private String communityName;
/**
- * 派出所编号
+ * 民警用户id
*/
- @ApiModelProperty(value = "派出所编号")
- private String policeStationCode;
- /**
- * 派出所名称
- */
- @ApiModelProperty(value = "派出所名称")
- private String policeStationName;
+ @ApiModelProperty(value = "民警用户id")
+ private String policeUserId;
+
/*
- * 辖区面数据
+ * 警务网格面数据
* @TableField(typeHandler = GeometryTypeHandler.class) 操作面的时候用,平时注释掉
*/
- @ApiModelProperty(value = "辖区面数据")
+ @ApiModelProperty(value = "警务网格面数据")
// @TableField(typeHandler = GeometryTypeHandler.class)
private String geom;
- /**
- * 排序
- */
- @ApiModelProperty(value = "排序")
- private Integer sort;
/**
* 创建人
diff --git a/src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java b/src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java
index d055f43..51f293d 100644
--- a/src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java
+++ b/src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java
@@ -9,6 +9,8 @@
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
+
+import org.springblade.modules.grid.handle.GeometryTypeHandler;
import org.springframework.format.annotation.DateTimeFormat;
/**
diff --git a/src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridExcel.java b/src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridExcel.java
new file mode 100644
index 0000000..879944b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridExcel.java
@@ -0,0 +1,50 @@
+package org.springblade.modules.police.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;
+
+/**
+ * GridExcel
+ *
+ * @author Chill
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class PoliceAffairsGridExcel implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ColumnWidth(15)
+ @ExcelProperty("社区名称")
+ private String communityName;
+
+ @ColumnWidth(15)
+ @ExcelProperty("社区编号")
+ private String communityCode;
+
+ @ColumnWidth(15)
+ @ExcelProperty("派出所名称")
+ private String pcsName;
+
+ @ColumnWidth(15)
+ @ExcelProperty("民警姓名")
+ private String policeman;
+
+ @ColumnWidth(15)
+ @ExcelProperty("民警联系方式")
+ private String policemanPhone;
+
+ @ColumnWidth(15)
+ @ExcelProperty("警务室代码")
+ private String jwGridCode;
+
+ @ColumnWidth(100)
+ @ExcelProperty("区域")
+ private String geom;
+
+}
diff --git a/src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridImporter.java b/src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridImporter.java
new file mode 100644
index 0000000..2283643
--- /dev/null
+++ b/src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridImporter.java
@@ -0,0 +1,24 @@
+package org.springblade.modules.police.excel;
+
+import lombok.RequiredArgsConstructor;
+import org.springblade.core.excel.support.ExcelImporter;
+import org.springblade.modules.police.service.IPoliceAffairsGridService;
+
+import java.util.List;
+
+/**
+ * 警务辖区导入类
+ *
+ * @author zhongrj
+ */
+@RequiredArgsConstructor
+public class PoliceAffairsGridImporter implements ExcelImporter<PoliceAffairsGridExcel> {
+
+ private final IPoliceAffairsGridService policeAffairsGridService;
+ private final Boolean isCovered;
+
+ @Override
+ public void save(List<PoliceAffairsGridExcel> data) {
+ policeAffairsGridService.importPoliceAffairsGrid(data, isCovered);
+ }
+}
diff --git a/src/main/java/org/springblade/modules/police/excel/PoliceStationExcel.java b/src/main/java/org/springblade/modules/police/excel/PoliceStationExcel.java
new file mode 100644
index 0000000..5ed293b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/police/excel/PoliceStationExcel.java
@@ -0,0 +1,34 @@
+package org.springblade.modules.police.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;
+
+/**
+ * GridExcel
+ *
+ * @author Chill
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class PoliceStationExcel implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ColumnWidth(15)
+ @ExcelProperty("派出所名称")
+ private String name;
+
+ @ColumnWidth(15)
+ @ExcelProperty("派出所编号")
+ private String code;
+
+ @ColumnWidth(100)
+ @ExcelProperty("区域")
+ private String geom;
+
+}
diff --git a/src/main/java/org/springblade/modules/police/excel/PoliceStationImporter.java b/src/main/java/org/springblade/modules/police/excel/PoliceStationImporter.java
new file mode 100644
index 0000000..7a5e8f4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/police/excel/PoliceStationImporter.java
@@ -0,0 +1,24 @@
+package org.springblade.modules.police.excel;
+
+import lombok.RequiredArgsConstructor;
+import org.springblade.core.excel.support.ExcelImporter;
+import org.springblade.modules.police.service.IPoliceStationService;
+
+import java.util.List;
+
+/**
+ * 派出所数据导入类
+ *
+ * @author zhongrj
+ */
+@RequiredArgsConstructor
+public class PoliceStationImporter implements ExcelImporter<PoliceStationExcel> {
+
+ private final IPoliceStationService policeStationService;
+ private final Boolean isCovered;
+
+ @Override
+ public void save(List<PoliceStationExcel> data) {
+ policeStationService.importPoliceStation(data, isCovered);
+ }
+}
diff --git a/src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java b/src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java
index d3f9b1d..c9267e4 100644
--- a/src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java
+++ b/src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java
@@ -2,8 +2,11 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
+import org.springblade.modules.police.excel.PoliceAffairsGridExcel;
import org.springblade.modules.police.vo.PoliceAffairsGridVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
/**
* 警务网格(辖区)表 服务类
@@ -23,4 +26,10 @@
IPage<PoliceAffairsGridVO> selectPoliceAffairsGridPage(IPage<PoliceAffairsGridVO> page, PoliceAffairsGridVO policeAffairsGrid);
+ /**
+ * 导入警务辖区数据
+ * @param data
+ * @param isCovered
+ */
+ void importPoliceAffairsGrid(List<PoliceAffairsGridExcel> data, Boolean isCovered);
}
diff --git a/src/main/java/org/springblade/modules/police/service/IPoliceStationService.java b/src/main/java/org/springblade/modules/police/service/IPoliceStationService.java
index 06866ee..f1ce932 100644
--- a/src/main/java/org/springblade/modules/police/service/IPoliceStationService.java
+++ b/src/main/java/org/springblade/modules/police/service/IPoliceStationService.java
@@ -2,8 +2,11 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.police.entity.PoliceStationEntity;
+import org.springblade.modules.police.excel.PoliceStationExcel;
import org.springblade.modules.police.vo.PoliceStationVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
/**
* 派出所信息表 服务类
@@ -23,4 +26,10 @@
IPage<PoliceStationVO> selectPoliceStationPage(IPage<PoliceStationVO> page, PoliceStationVO policeStation);
+ /**
+ * 导入派出所数据
+ * @param data
+ * @param isCovered
+ */
+ void importPoliceStation(List<PoliceStationExcel> data, Boolean isCovered);
}
diff --git a/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java b/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java
index 0aa5264..ef0b5ef 100644
--- a/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java
+++ b/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java
@@ -1,12 +1,25 @@
package org.springblade.modules.police.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
+import org.springblade.modules.police.entity.PoliceStationEntity;
+import org.springblade.modules.police.excel.PoliceAffairsGridExcel;
+import org.springblade.modules.police.excel.PoliceStationExcel;
+import org.springblade.modules.police.service.IPoliceStationService;
import org.springblade.modules.police.vo.PoliceAffairsGridVO;
import org.springblade.modules.police.mapper.PoliceAffairsGridMapper;
import org.springblade.modules.police.service.IPoliceAffairsGridService;
+import org.springblade.modules.system.entity.User;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
/**
* 警务网格(辖区)表 服务实现类
@@ -22,5 +35,29 @@
return page.setRecords(baseMapper.selectPoliceAffairsGridPage(page, policeAffairsGrid));
}
-
+ /**
+ * 导入警务辖区数据
+ * @param data
+ * @param isCovered
+ */
+ @Override
+ public void importPoliceAffairsGrid(List<PoliceAffairsGridExcel> data, Boolean isCovered) {
+ for (PoliceAffairsGridExcel policeAffairsGridExcel : data) {
+ PoliceAffairsGridEntity policeAffairsGridEntity
+ = Objects.requireNonNull(BeanUtil.copy(policeAffairsGridExcel, PoliceAffairsGridEntity.class));
+ // 查询派出所对应的编号
+ QueryWrapper<PoliceStationEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("is_deleted",0).eq("name",policeAffairsGridExcel.getPcsName());
+ PoliceStationEntity stationEntity = SpringUtil.getBean(IPoliceStationService.class).getOne(queryWrapper);
+ if (null!=stationEntity){
+ policeAffairsGridEntity.setPcsCode(stationEntity.getCode());
+ }
+ policeAffairsGridEntity.setCreateUser(AuthUtil.getUserId());
+ policeAffairsGridEntity.setCreateTime(new Date());
+ policeAffairsGridEntity.setUpdateUser(AuthUtil.getUserId());
+ policeAffairsGridEntity.setUpdateTime(new Date());
+ // 新增
+ save(policeAffairsGridEntity);
+ }
+ }
}
diff --git a/src/main/java/org/springblade/modules/police/service/impl/PoliceStationServiceImpl.java b/src/main/java/org/springblade/modules/police/service/impl/PoliceStationServiceImpl.java
index ddad135..b4978ee 100644
--- a/src/main/java/org/springblade/modules/police/service/impl/PoliceStationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/police/service/impl/PoliceStationServiceImpl.java
@@ -1,12 +1,18 @@
package org.springblade.modules.police.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.police.entity.PoliceStationEntity;
+import org.springblade.modules.police.excel.PoliceStationExcel;
import org.springblade.modules.police.vo.PoliceStationVO;
import org.springblade.modules.police.mapper.PoliceStationMapper;
import org.springblade.modules.police.service.IPoliceStationService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.Date;
+import java.util.List;
/**
* 派出所信息表 服务实现类
@@ -22,5 +28,35 @@
return page.setRecords(baseMapper.selectPoliceStationPage(page, policeStation));
}
-
+ /**
+ * 导入派出所数据
+ * @param data
+ * @param isCovered
+ */
+ @Override
+ public void importPoliceStation(List<PoliceStationExcel> data, Boolean isCovered) {
+ for (PoliceStationExcel policeStationExcel : data) {
+ PoliceStationEntity policeStationEntity = new PoliceStationEntity();
+ policeStationEntity.setCode(policeStationExcel.getCode());
+ policeStationEntity.setName(policeStationExcel.getName());
+ // 数据异常,无法导入
+// policeStationEntity.setGeom(policeStationExcel.getGeom());
+ // 判断是否已录入
+ QueryWrapper<PoliceStationEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("is_deleted",0).eq("code",policeStationExcel.getCode());
+ PoliceStationEntity one = getOne(queryWrapper);
+ if (null!=one){
+ // 更新
+ policeStationEntity.setId(one.getId());
+ updateById(policeStationEntity);
+ }else {
+ // 新增
+ policeStationEntity.setCreateUser(AuthUtil.getUserId());
+ policeStationEntity.setCreateTime(new Date());
+ policeStationEntity.setUpdateUser(AuthUtil.getUserId());
+ policeStationEntity.setUpdateTime(new Date());
+ save(policeStationEntity);
+ }
+ }
+ }
}
--
Gitblit v1.9.3