add 委员及委员信息导入接口

This commit is contained in:
lijiarao
2024-09-11 10:57:51 +08:00
parent 1f985bbf5c
commit 4ab9ef578d
4 changed files with 90 additions and 46 deletions
@@ -11,6 +11,7 @@ import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.oConvertUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -25,6 +26,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 委员会表(pay_committee_info)表控制层
@@ -53,11 +55,8 @@ public class PayCommitteeInfoController extends JeroController<PayCommitteeInfo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayCommitteeInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeInfo, req.getParameterMap());
queryWrapper.lambda()
.eq(PayCommitteeInfo::getDelFlag, CommonConstant.DEL_FLAG_0);
queryWrapper.orderByAsc("CAST(REPLACE(REPLACE(committee_number, 'TC',''),'/SC','') AS UNSIGNED)");
Page<PayCommitteeInfo> page = new Page<>(pageNo, pageSize);
IPage<PayCommitteeInfo> pageList = payCommitteeInfoService.page(page, queryWrapper);
IPage<PayCommitteeInfo> pageList = payCommitteeInfoService.pageList(page, queryWrapper);
return Result.OK(pageList);
}
@@ -89,7 +88,17 @@ public class PayCommitteeInfoController extends JeroController<PayCommitteeInfo,
@ApiOperation(value = "委员会表-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCommitteeInfo payCommitteeInfo) {
return super.exportXls(request, payCommitteeInfo, PayCommitteeInfo.class, "委员会表");
QueryWrapper<PayCommitteeInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeInfo, request.getParameterMap());
Page<PayCommitteeInfo> page = new Page<>(-1, -1);
IPage<PayCommitteeInfo> pageList = payCommitteeInfoService.pageList(page, queryWrapper);
List<PayCommitteeInfo> list = pageList.getRecords();
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
list = list.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}
return super.exportListXls(list, PayCommitteeInfo.class, "委员会表");
}
}
@@ -13,6 +13,7 @@ import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.oConvertUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -28,6 +29,7 @@ import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* 委员会成员表(pay_committee_member_info)表控制层
@@ -57,20 +59,10 @@ public class PayCommitteeMemberInfoController extends JeroController<PayCommitte
HttpServletRequest req) {
QueryWrapper<PayCommitteeMemberInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeMemberInfo, req.getParameterMap());
String committeeNumber = payCommitteeMemberInfo.getCommitteeNumber();
String positionOfStandardsCommittee = payCommitteeMemberInfo.getPositionOfStandardsCommittee();
queryWrapper.lambda()
.eq(StringUtils.isNotBlank(committeeNumber),PayCommitteeMemberInfo::getCommitteeNumber,committeeNumber)
.eq(PayCommitteeMemberInfo::getDelFlag, CommonConstant.DEL_FLAG_0)
.eq(StringUtils.isNotBlank(positionOfStandardsCommittee), PayCommitteeMemberInfo::getPositionOfStandardsCommittee, positionOfStandardsCommittee);
//.orderByAsc(PayCommitteeMemberInfo::getNumber)
queryWrapper.orderByAsc("CAST(REPLACE(REPLACE(committee_number, 'TC',''),'/SC','') AS UNSIGNED),number");
Page<PayCommitteeMemberInfo> page = new Page<>(pageNo, pageSize);
IPage<PayCommitteeMemberInfo> pageList = payCommitteeMemberInfoService.page(page, queryWrapper);
for (PayCommitteeMemberInfo record : pageList.getRecords()) {
desensitized(record);
}
IPage<PayCommitteeMemberInfo> pageList = payCommitteeMemberInfoService.pageList(page, payCommitteeMemberInfo, queryWrapper);
return Result.OK(pageList);
}
@@ -85,38 +77,11 @@ public class PayCommitteeMemberInfoController extends JeroController<PayCommitte
if (payCommitteeMemberInfo == null) {
throw new JeroBootException("未找到对应数据");
}
desensitized(payCommitteeMemberInfo);
payCommitteeMemberInfoService.desensitized(payCommitteeMemberInfo);
return Result.OK(payCommitteeMemberInfo);
}
/**
* 数据脱敏
* @param memberInfo
*/
private void desensitized(PayCommitteeMemberInfo memberInfo){
//证件号码
String identificationNumber = memberInfo.getIdentificationNumber();
memberInfo.setIdentificationNumber(DesensitizedUtil.idCardNum(identificationNumber,1,2));
//手机
String mobilePhone = memberInfo.getMobilePhone();
memberInfo.setMobilePhone(DesensitizedUtil.mobilePhone(mobilePhone));
//出生年月
String birthDate = memberInfo.getBirthDate();
memberInfo.setBirthDate(DesensitizedUtil.password(birthDate));
//委员聘书编号
String appointmentLetterNumber = memberInfo.getAppointmentLetterNumber();
memberInfo.setAppointmentLetterNumber(DesensitizedUtil.password(appointmentLetterNumber));
//电子邮箱
//String eMail = memberInfo.getEMail();
//memberInfo.setEMail(DesensitizedUtil.email(eMail));
//工作单位统一社会信用代码或组织机构代码
String orgCode = memberInfo.getOrgCode();
memberInfo.setOrgCode(DesensitizedUtil.password(orgCode));
//政治面貌
String politicalLandscape = memberInfo.getPoliticalLandscape();
memberInfo.setPoliticalLandscape(DesensitizedUtil.password(politicalLandscape));
}
/**
* 上传个人照片
@@ -141,7 +106,18 @@ public class PayCommitteeMemberInfoController extends JeroController<PayCommitte
@ApiOperation(value = "委员会成员表-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCommitteeMemberInfo payCommitteeMemberInfo) {
return super.exportXls(request, payCommitteeMemberInfo, PayCommitteeMemberInfo.class, "委员会成员表");
QueryWrapper<PayCommitteeMemberInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeMemberInfo, request.getParameterMap());
Page<PayCommitteeMemberInfo> page = new Page<>(-1, -1);
IPage<PayCommitteeMemberInfo> pageList = payCommitteeMemberInfoService.pageList(page, payCommitteeMemberInfo, queryWrapper);
List<PayCommitteeMemberInfo> list = pageList.getRecords();
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
list = list.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}
return super.exportListXls(list, PayCommitteeMemberInfo.class, "委员会成员表");
}
}
@@ -3,7 +3,10 @@ import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.alibaba.fastjson.JSONArray;
@@ -228,4 +231,10 @@ public class PayCommitteeInfoService extends ServiceImpl<PayCommitteeInfoMapper,
}
public IPage<PayCommitteeInfo> pageList(Page<PayCommitteeInfo> page, QueryWrapper<PayCommitteeInfo> queryWrapper) {
queryWrapper.lambda()
.eq(PayCommitteeInfo::getDelFlag, CommonConstant.DEL_FLAG_0);
queryWrapper.orderByAsc("CAST(REPLACE(REPLACE(committee_number, 'TC',''),'/SC','') AS UNSIGNED)");
return this.page(page,queryWrapper);
}
}
@@ -1,5 +1,11 @@
package com.jero.committee.service;
import cn.hutool.core.util.DesensitizedUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.constant.CommonConstant;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
@@ -35,4 +41,48 @@ public class PayCommitteeMemberInfoService extends ServiceImpl<PayCommitteeMembe
PayCommitteeMemberInfo payCommitteeMemberInfo = this.getById(id);
return payCommitteeMemberInfo;
}
public IPage<PayCommitteeMemberInfo> pageList(Page<PayCommitteeMemberInfo> page, PayCommitteeMemberInfo payCommitteeMemberInfo, QueryWrapper<PayCommitteeMemberInfo> queryWrapper) {
String committeeNumber = payCommitteeMemberInfo.getCommitteeNumber();
String positionOfStandardsCommittee = payCommitteeMemberInfo.getPositionOfStandardsCommittee();
queryWrapper.lambda()
.eq(StringUtils.isNotBlank(committeeNumber),PayCommitteeMemberInfo::getCommitteeNumber,committeeNumber)
.eq(PayCommitteeMemberInfo::getDelFlag, CommonConstant.DEL_FLAG_0)
.eq(StringUtils.isNotBlank(positionOfStandardsCommittee), PayCommitteeMemberInfo::getPositionOfStandardsCommittee, positionOfStandardsCommittee);
queryWrapper.orderByAsc("CAST(REPLACE(REPLACE(committee_number, 'TC',''),'/SC','') AS UNSIGNED),number");
Page<PayCommitteeMemberInfo> pageList = this.page(page, queryWrapper);
for (PayCommitteeMemberInfo record : pageList.getRecords()) {
desensitized(record);
}
return null;
}
/**
* 数据脱敏
* @param memberInfo
*/
public void desensitized(PayCommitteeMemberInfo memberInfo){
//证件号码
String identificationNumber = memberInfo.getIdentificationNumber();
memberInfo.setIdentificationNumber(DesensitizedUtil.idCardNum(identificationNumber,1,2));
//手机
String mobilePhone = memberInfo.getMobilePhone();
memberInfo.setMobilePhone(DesensitizedUtil.mobilePhone(mobilePhone));
//出生年月
String birthDate = memberInfo.getBirthDate();
memberInfo.setBirthDate(DesensitizedUtil.password(birthDate));
//委员聘书编号
String appointmentLetterNumber = memberInfo.getAppointmentLetterNumber();
memberInfo.setAppointmentLetterNumber(DesensitizedUtil.password(appointmentLetterNumber));
//电子邮箱
//String eMail = memberInfo.getEMail();
//memberInfo.setEMail(DesensitizedUtil.email(eMail));
//工作单位统一社会信用代码或组织机构代码
String orgCode = memberInfo.getOrgCode();
memberInfo.setOrgCode(DesensitizedUtil.password(orgCode));
//政治面貌
String politicalLandscape = memberInfo.getPoliticalLandscape();
memberInfo.setPoliticalLandscape(DesensitizedUtil.password(politicalLandscape));
}
}