基础信息导入
This commit is contained in:
parent
8166d7698f
commit
a79bf7f9b7
@ -1,5 +1,6 @@
|
|||||||
package com.cm.population.controller.apis.basepopulationinfo;
|
package com.cm.population.controller.apis.basepopulationinfo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.EasyExcel;
|
||||||
import com.cm.common.annotation.CheckRequestBodyAnnotation;
|
import com.cm.common.annotation.CheckRequestBodyAnnotation;
|
||||||
import com.cm.common.base.AbstractController;
|
import com.cm.common.base.AbstractController;
|
||||||
import com.cm.common.component.SecurityComponent;
|
import com.cm.common.component.SecurityComponent;
|
||||||
@ -15,10 +16,16 @@ import com.cm.common.result.SuccessResultList;
|
|||||||
import com.cm.population.pojo.dtos.basepopulationinfo.BasePopulationInfoDTO;
|
import com.cm.population.pojo.dtos.basepopulationinfo.BasePopulationInfoDTO;
|
||||||
import com.cm.population.pojo.vos.basepopulationinfo.BasePopulationInfoVO;
|
import com.cm.population.pojo.vos.basepopulationinfo.BasePopulationInfoVO;
|
||||||
import com.cm.population.service.basepopulationinfo.IBasePopulationInfoService;
|
import com.cm.population.service.basepopulationinfo.IBasePopulationInfoService;
|
||||||
|
import com.cm.population.uploadexcellistener.populationbaseinfo.PopulationBaseInfoUploadListener;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -122,6 +129,36 @@ public class BasePopulationInfoController extends AbstractController {
|
|||||||
return basePopulationInfoService.countBasePopulationInfo(params);
|
return basePopulationInfoService.countBasePopulationInfo(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "人员基础信息模板下载", notes = "党费管理Excel模板下载接口")
|
||||||
|
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||||
|
@GetMapping("downloadtemplate")
|
||||||
|
public void downLoadTemplate(HttpServletResponse response) throws SearchException, IOException {
|
||||||
|
response.setContentType("application/vnd.ms-excel");
|
||||||
|
String fileName = URLEncoder.encode("人员基础信息Excel模板", "UTF-8");
|
||||||
|
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
|
||||||
|
List<List<String>> listHeaders = new ArrayList<>();
|
||||||
|
String [] headers = {
|
||||||
|
"姓名","曾用名","性别","身份证号","出生日期","联系方式","籍贯","民族","宗教信仰","学历","政治面貌",
|
||||||
|
"婚姻情况","职业类别","职业","服务处所","户籍地(省)","市/直辖","区/县","详细地址","现住地(省)",
|
||||||
|
"市/直辖","区/县","详细地址"
|
||||||
|
};
|
||||||
|
List<List<String>> listHeader = new ArrayList<>();
|
||||||
|
for (String item : headers){
|
||||||
|
List<String> title = new ArrayList<>();
|
||||||
|
title.add(item);
|
||||||
|
listHeader.add(title);
|
||||||
|
}
|
||||||
|
EasyExcel.write(response.getOutputStream()).sheet("人员基础信息").head(listHeader).doWrite(new ArrayList());
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "人员基础信息导入", notes = "人员基础信息导入接口")
|
||||||
|
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||||
|
@PostMapping("uploadtemplate")
|
||||||
|
public SuccessResultData uploadTemplate(@RequestParam(value = "file") MultipartFile file) throws SearchException, IOException {
|
||||||
|
EasyExcel.read(file.getInputStream(),new PopulationBaseInfoUploadListener(basePopulationInfoService)).sheet().doRead();
|
||||||
|
return new SuccessResultData("导入完成");
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "当前用户id信息", notes = "当前用户id信息接口")
|
@ApiOperation(value = "当前用户id信息", notes = "当前用户id信息接口")
|
||||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||||
@GetMapping("getcurrentuseridinfo")
|
@GetMapping("getcurrentuseridinfo")
|
||||||
|
@ -159,4 +159,10 @@ public interface IBasePopulationInfoService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
BasePopulationInfoDTO getBasePopulationInfo(Map<String, Object> params) throws SearchException;
|
BasePopulationInfoDTO getBasePopulationInfo(Map<String, Object> params) throws SearchException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人员基础信息导入保存
|
||||||
|
* @param dataObj
|
||||||
|
*/
|
||||||
|
void saveBasePopulationInfoImport(Map<String, Object> dataObj);
|
||||||
}
|
}
|
@ -88,6 +88,20 @@ public class BasePopulationInfoServiceImpl extends AbstractService implements IB
|
|||||||
return basePopulationInfoId;
|
return basePopulationInfoId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveBasePopulationInfoImport(Map<String, Object> dataObj) {
|
||||||
|
String idCardNumber = dataObj.get("idCardNumber").toString();
|
||||||
|
Map<String, Object> queryMap = getHashMap(4);
|
||||||
|
queryMap.put("idCardNumber",idCardNumber);
|
||||||
|
BasePopulationInfoDTO basePopulationInfo = basePopulationInfoDao.getBasePopulationInfo(queryMap);
|
||||||
|
if(basePopulationInfo == null){
|
||||||
|
String basePopulationInfoId = UUIDUtil.getUUID();
|
||||||
|
dataObj.put("basePopulationInfoId", basePopulationInfoId);
|
||||||
|
setSaveInfo(dataObj);
|
||||||
|
basePopulationInfoDao.saveBasePopulationInfo(dataObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SuccessResult removeBasePopulationInfo(String ids) throws RemoveException {
|
public SuccessResult removeBasePopulationInfo(String ids) throws RemoveException {
|
||||||
removeBasePopulationInfoInfo(null, ids);
|
removeBasePopulationInfoInfo(null, ids);
|
||||||
|
@ -0,0 +1,55 @@
|
|||||||
|
package com.cm.population.uploadexcellistener.populationbaseinfo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.context.AnalysisContext;
|
||||||
|
import com.alibaba.excel.event.AnalysisEventListener;
|
||||||
|
import com.cm.common.utils.UUIDUtil;
|
||||||
|
import com.cm.population.service.basepopulationinfo.IBasePopulationInfoService;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xwangs
|
||||||
|
* @create 2021-03-18 17:26
|
||||||
|
* @description
|
||||||
|
*/
|
||||||
|
public class PopulationBaseInfoUploadListener extends AnalysisEventListener<Map<String, Object>> {
|
||||||
|
|
||||||
|
private static final int BATCH_COUNT = 3000;
|
||||||
|
private IBasePopulationInfoService service;
|
||||||
|
|
||||||
|
|
||||||
|
public PopulationBaseInfoUploadListener(IBasePopulationInfoService serviceObj){
|
||||||
|
this.service = serviceObj;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void invoke(Map<String, Object> data, AnalysisContext context) {
|
||||||
|
Map<String, Object> dataObj = new HashMap<>(32);
|
||||||
|
dataObj.put("fullName",data.get(0));
|
||||||
|
dataObj.put("nameUsedBefore",data.get(1));
|
||||||
|
dataObj.put("gender",data.get(2));
|
||||||
|
dataObj.put("idCardNumber",data.get(3));
|
||||||
|
dataObj.put("birthDate",data.get(4));
|
||||||
|
dataObj.put("telephone",data.get(5));
|
||||||
|
dataObj.put("nativePlace",data.get(6));
|
||||||
|
dataObj.put("nation",data.get(7));
|
||||||
|
dataObj.put("religion",data.get(8));
|
||||||
|
dataObj.put("education",data.get(9));
|
||||||
|
dataObj.put("politicalStatus",data.get(10));
|
||||||
|
dataObj.put("maritalStatus",data.get(11));
|
||||||
|
dataObj.put("occupationCategory",data.get(12));
|
||||||
|
dataObj.put("occupation",data.get(13));
|
||||||
|
dataObj.put("serviceSpace",data.get(14));
|
||||||
|
dataObj.put("registeredResidence",data.get(15).toString() + data.get(16).toString() + data.get(17).toString());
|
||||||
|
dataObj.put("registeredResidenceAddr",data.get(18));
|
||||||
|
dataObj.put("currentResidence",data.get(19).toString() + data.get(20).toString() + data.get(21).toString());
|
||||||
|
dataObj.put("currentResidenceAddr",data.get(22));
|
||||||
|
service.saveBasePopulationInfoImport(dataObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void doAfterAllAnalysed(AnalysisContext context) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -23,6 +23,12 @@
|
|||||||
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
||||||
<i class="fa fa-lg fa-search"></i> 搜索
|
<i class="fa fa-lg fa-search"></i> 搜索
|
||||||
</button>
|
</button>
|
||||||
|
<button type="button" id="downloadTemplate" class="layui-btn layui-btn-sm">
|
||||||
|
<i class="fa fa-lg fa-download"></i> 下载模板
|
||||||
|
</button>
|
||||||
|
<button type="button" id="uploadTemplate" class="layui-btn layui-btn-sm">
|
||||||
|
<i class="fa fa-lg fa-upload"></i> 导入数据
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
|
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
|
||||||
<!-- 表头按钮组 -->
|
<!-- 表头按钮组 -->
|
||||||
@ -51,7 +57,7 @@
|
|||||||
base: 'assets/layuiadmin/'
|
base: 'assets/layuiadmin/'
|
||||||
}).extend({
|
}).extend({
|
||||||
index: 'lib/index'
|
index: 'lib/index'
|
||||||
}).use(['index', 'table', 'laydate', 'common'], function() {
|
}).use(['index', 'table', 'laydate', 'common','upload'], function() {
|
||||||
var $ = layui.$;
|
var $ = layui.$;
|
||||||
var $win = $(window);
|
var $win = $(window);
|
||||||
var table = layui.table;
|
var table = layui.table;
|
||||||
@ -59,8 +65,22 @@
|
|||||||
var laydate = layui.laydate;
|
var laydate = layui.laydate;
|
||||||
var common = layui.common;
|
var common = layui.common;
|
||||||
var resizeTimeout = null;
|
var resizeTimeout = null;
|
||||||
|
var upload = layui.upload;
|
||||||
var tableUrl = 'api/basepopulationinfo/listpagebasepopulationinfo';
|
var tableUrl = 'api/basepopulationinfo/listpagebasepopulationinfo';
|
||||||
|
|
||||||
|
var uploadInst = upload.render({
|
||||||
|
elem: '#uploadTemplate' //绑定元素
|
||||||
|
,url: 'api/basepopulationinfo/uploadtemplate' //上传接口
|
||||||
|
,exts: 'xlsx'
|
||||||
|
,done: function(res){
|
||||||
|
layer.msg(res.data);
|
||||||
|
reloadTable(1);
|
||||||
|
}
|
||||||
|
,error: function(){
|
||||||
|
console.log("erererer");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// 初始化表格
|
// 初始化表格
|
||||||
function initTable() {
|
function initTable() {
|
||||||
table.render({
|
table.render({
|
||||||
@ -228,6 +248,12 @@
|
|||||||
$(document).on('click', '#search', function() {
|
$(document).on('click', '#search', function() {
|
||||||
reloadTable(1);
|
reloadTable(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 下载模板
|
||||||
|
$(document).on('click', '#downloadTemplate', function() {
|
||||||
|
window.open('api/basepopulationinfo/downloadtemplate');
|
||||||
|
});
|
||||||
|
|
||||||
// 事件 - 增删改
|
// 事件 - 增删改
|
||||||
table.on('toolbar(dataTable)', function(obj) {
|
table.on('toolbar(dataTable)', function(obj) {
|
||||||
var layEvent = obj.event;
|
var layEvent = obj.event;
|
||||||
|
Loading…
Reference in New Issue
Block a user