人员管理

This commit is contained in:
cwchen 2024-07-17 13:37:21 +08:00
parent 4bc14339a4
commit 072e1f3a20
7 changed files with 109 additions and 3 deletions

View File

@ -25,7 +25,6 @@ public class BusinessConstants {
public final static String FEMALE = "";
public final static String OTHER = "其他";
public final static Integer CELL_1 = 1;
public final static Integer CELL_2 = 2;
public final static Integer CELL_3 = 3;

View File

@ -2,6 +2,7 @@ package com.bonus.common.core.utils;
import org.springframework.web.multipart.MultipartFile;
import sun.net.www.content.image.jpeg;
import java.util.Arrays;
import java.util.Locale;
@ -20,12 +21,18 @@ public class UploadCheckUtils {
* 文件大小 10MB(可用于图片和视频区分)
*/
public static final long IMG_FILE_SIZE = 10 * 1024 * 1024;
/**
* EXCEL文件大小 100MB
*/
public static final long EXCEL_FILE_SIZE = 100 * 1024 * 1024;
/**
* 只支持图片格式
*/
public static final String[] YES_IMAGE_SUPPORT = {".jpg", ".jpeg", ".png"};
public static final String[] YES_EXCEL_SUPPORT = {".xlsx", ".xls"};
/**
* 只支持视频格式
*/
@ -97,4 +104,35 @@ public class UploadCheckUtils {
return null;
}
public static String uploadExcelVerify(MultipartFile multipartFile) {
// 校验文件是否为空
if (multipartFile == null) {
return "上传文件不能为空";
}
// 校验文件名字
String originalFilename = multipartFile.getOriginalFilename();
if (originalFilename == null) {
return "上传文件名字不能为空";
}
for (String realKey : FILE_NAME_EXCLUDE) {
if (originalFilename.contains(realKey)) {
return "上传文件名称不允许出现"+realKey+"关键字";
}
}
// 校验文件后缀
if (!originalFilename.contains(SUFFIX)) {
return "上传文件不能没有后缀";
}
String suffix = originalFilename.substring(originalFilename.lastIndexOf('.'));
/*校验: 文件格式是否符合要求*/
if (!Arrays.asList(YES_EXCEL_SUPPORT).contains(suffix.toLowerCase(Locale.ROOT))) {
return "上传文件格式仅支持" + Arrays.asList(YES_EXCEL_SUPPORT).toString();
}
Long fileSize = multipartFile.getSize();
if (fileSize > EXCEL_FILE_SIZE) {
return "上传文件大小仅支持100MB以内";
}
return null;
}
}

View File

@ -1,6 +1,8 @@
package com.bonus.bracelet.controller;
import com.bonus.bracelet.service.IPersonMgeService;
import com.bonus.common.core.constant.BusinessConstants;
import com.bonus.common.core.utils.UploadCheckUtils;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.core.web.page.TableDataInfo;
@ -10,6 +12,7 @@ import com.bonus.common.log.annotation.SysLog;
import com.bonus.common.log.enums.OperaType;
import com.bonus.common.security.annotation.RequiresPermissions;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -72,6 +75,10 @@ public class PersonMgeController extends BaseController {
// @RequiresPermissions("basic:person:excelUpload")
@SysLog(title = "人员管理", businessType = OperaType.IMPORT,logType = 0,module = "基础管理->人员管理",details ="人员导入" )
public AjaxResult excelUpload(MultipartFile file, HttpServletRequest request, HttpServletResponse response){
String result = UploadCheckUtils.uploadExcelVerify(file);
if(StringUtils.isNotBlank(result)){
return AjaxResult.error(result);
}
return service.excelUpload(file, request, response);
}
}

View File

@ -3,6 +3,7 @@ package com.bonus.bracelet.mapper;
import com.bonus.common.entity.bracelet.BraceletParamsDto;
import com.bonus.common.entity.bracelet.vo.PersonVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@ -70,10 +71,22 @@ public interface PersonMgeMapper {
/**
* 查询人员列表
*
* @param dto
* @return List<PersonVo>
* @author cwchen
* @date 2024/7/16 15:45
*/
List<PersonVo> getPersonLists(BraceletParamsDto dto);
/**
* 验证安全帽编号马甲编码是否存在
*
* @param vo
* @param type
* @return int
* @author cwchen
* @date 2024/7/17 13:27
*/
int codeIsExist(@Param("params") PersonVo vo, @Param("type") int type);
}

View File

@ -99,6 +99,19 @@ public class PersonMgeServiceImpl implements IPersonMgeService {
if (idCardIsExist(list, vo, 2)) {
return AjaxResult.error("电话已存在");
}
// 验证安全帽编号是否重复马甲编号是否重复
if(StringUtils.isNotBlank(vo.getAqmCode())){
int result = mapper.codeIsExist(vo,1);
if(result > 0){
return AjaxResult.error("安全帽编号已存在");
}
}
if(StringUtils.isNotBlank(vo.getMjCode())){
int result = mapper.codeIsExist(vo,2);
if(result > 0){
return AjaxResult.error("马甲编号已存在");
}
}
// 校验文件上传文件
String isVerify = UploadCheckUtils.uploadImgVerify(file);
if (StringUtils.isNotBlank(isVerify)) {
@ -140,6 +153,19 @@ public class PersonMgeServiceImpl implements IPersonMgeService {
if (idCardIsExist(list, vo, 2)) {
return AjaxResult.error("电话已存在");
}
// 验证安全帽编号是否重复马甲编号是否重复
if(StringUtils.isNotBlank(vo.getAqmCode())){
int result = mapper.codeIsExist(vo,1);
if(result > 0){
return AjaxResult.error("安全帽编号已存在");
}
}
if(StringUtils.isNotBlank(vo.getMjCode())){
int result = mapper.codeIsExist(vo,2);
if(result > 0){
return AjaxResult.error("马甲编号已存在");
}
}
// 校验文件上传文件
if (StringUtils.isNotBlank(vo.getDelFiles())) {
String isVerify = UploadCheckUtils.uploadImgVerify(file);
@ -421,7 +447,7 @@ public class PersonMgeServiceImpl implements IPersonMgeService {
String value = map.get(key);
if (value.indexOf(",") != -1) {
System.out.println(key + " 重复,行: " + value);
errList.add(name + "" + key + " 重复,重复行: " + value);
errList.add(name + " 重复,重复行: " + value);
}
}
return errList;

View File

@ -3,7 +3,11 @@ server:
port: 18086
# Spring
spring:
spring:
servlet:
multipart:
max-file-size: -1
max-request-size: -1
application:
# 应用名称
name: bonus-bracelet

View File

@ -99,4 +99,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if>
ORDER BY tp.create_time
</select>
<!--验证安全帽编号是否重复、马甲编号是否重复-->
<select id="codeIsExist" resultType="java.lang.Integer">
<if test="type == 1">
<if test="id == null">
SELECT COUNT(*) FROM tb_people WHERE aqm_code = #{params.aqmCode} AND del_flag = 0
</if>
<if test="id != null">
SELECT COUNT(*) FROM tb_people WHERE id != #{params.id} AND aqm_code = #{params.aqmCode} AND del_flag = 0
</if>
</if>
<if test="type == 2">
<if test="id == null">
SELECT COUNT(*) FROM tb_people WHERE mj_code = #{params.mjCode} AND del_flag = 0
</if>
<if test="id != null">
SELECT COUNT(*) FROM tb_people WHERE mj_code = #{params.mjCode} AND id != #{params.id} AND del_flag = 0
</if>
</if>
</select>
</mapper>