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); } } } 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("操作成功"); } } 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("操作成功"); } } 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; /** * 创建人 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; /** src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridExcel.java
New file @@ -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; } src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridImporter.java
New file @@ -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); } } src/main/java/org/springblade/modules/police/excel/PoliceStationExcel.java
New file @@ -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; } src/main/java/org/springblade/modules/police/excel/PoliceStationImporter.java
New file @@ -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); } } 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); } 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); } 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); } } } 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); } } } }