zhongrj
2024-02-02 5385f7748062cc72c7b1d5c8651630751abe5a41
社区警格操作调整
9 files modified
4 files added
348 ■■■■ changed files
src/main/java/org/springblade/modules/community/service/impl/CommunityServiceImpl.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/controller/PoliceAffairsGridController.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/controller/PoliceStationController.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java 63 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridExcel.java 50 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/excel/PoliceAffairsGridImporter.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/excel/PoliceStationExcel.java 34 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/excel/PoliceStationImporter.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/service/IPoliceStationService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java 39 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/service/impl/PoliceStationServiceImpl.java 38 ●●●●● patch | view | raw | blame | history
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);
            }
        }
    }
}