From fb2eb76b71b1a203ad226e802fc99a7a123acfc8 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 07 Mar 2022 17:18:44 +0800
Subject: [PATCH] 保安员新增/修改保安证编号校验逻辑调整
---
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 316 +++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 261 insertions(+), 55 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index cba4196..b2479ad 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -50,6 +50,8 @@
import org.springblade.modules.information.service.IInformationService;
import org.springblade.modules.jurisdiction.entity.Jurisdiction;
import org.springblade.modules.jurisdiction.service.JurisdictionService;
+import org.springblade.modules.securitypaper.entity.SecurityPaper;
+import org.springblade.modules.securitypaper.service.SecurityPaperService;
import org.springblade.modules.system.entity.*;
import org.springblade.modules.system.excel.QrCodeExcel;
import org.springblade.modules.system.excel.SecurityExcel;
@@ -91,6 +93,8 @@
private final IDeptService deptService;
private final JurisdictionService jurisdictionService;
private final IExperienceService experienceService;
+ private final MyAsyncService myAsyncService;
+ private final SecurityPaperService securityPaperService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -143,7 +147,8 @@
"," + "'" + user.getJurisdiction() + "'"+
"," + "'" + user.getIsDeleted() + "'"
+ ")";
- FtpUtil.sqlFileUpload(s);
+ //FtpUtil.sqlFileUpload(s);
+ myAsyncService.FTP(s);
return b;
}
@@ -543,7 +548,8 @@
"," + "'" + user.getIsDeleted() + "'" +
"," + "'" + user.getJurisdiction() + "'"
+ ")";
- FtpUtil.sqlFileUpload(s);
+ //FtpUtil.sqlFileUpload(s);
+ myAsyncService.FTP(s);
}else {
//匹配组织机构是否一致,如果不一致
if(!user2.getDeptId().equals(user.getDeptId())){
@@ -580,7 +586,8 @@
+ ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
+ ",cardid = " + "'" + user2.getCardid() + "'"
+ " " + "where id = " + "'" + user2.getId() + "'";
- FtpUtil.sqlFileUpload(s1);
+ //FtpUtil.sqlFileUpload(s1);
+ myAsyncService.FTP(s1);
}
}
});
@@ -837,6 +844,8 @@
List<String> errorList = new ArrayList<>();
//年龄不符的保安员信息存入集合
List<String> ageErrorList = new ArrayList<>();
+ //保安员证编号不符的保安员信息存入集合
+ List<String> securityInvalidList = new ArrayList<>();
//将需要更新的保安员信息存入集合
List<User> updateList = new ArrayList<>();
//需要新增的保安员集合
@@ -846,6 +855,7 @@
//导入状态,默认为true ,如果有一个出现问题则为 false
AtomicBoolean status = new AtomicBoolean(true);
AtomicBoolean agetStatus = new AtomicBoolean(true);
+ AtomicBoolean securityInvalidStatus = new AtomicBoolean(true);
//遍历
for (SecurityExcel userExcel : data) {
User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class));
@@ -887,6 +897,7 @@
continue;
}
}
+
//判断当前用户是否已在本单位,如果是的更新数据
User user1 = new User();
user1.setAccount(user.getCardid());
@@ -903,6 +914,30 @@
//判断是否持证
if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
user.setHold("1");
+ //校验保安员证编号是否合规
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setIdCardNo(userExcel.getCardid());
+ List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
+ if (securityPaperList.size()>0){
+ boolean state = false;
+ //遍历
+ for (SecurityPaper paper : securityPaperList) {
+ if (paper.getNumber().equals(user.getSecuritynumber())){
+ state = true;
+ }
+ }
+ if (!state){
+ user.setHold("2");
+ user.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
+ }else {
+ user.setHold("2");
+ user.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
}else {
user.setHold("2");
}
@@ -965,19 +1000,40 @@
user2.setDeptId(dept1.getId().toString());
//判断是否持证
if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
- user.setHold("1");
- }else {
- user.setHold("2");
- }
- if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
user2.setHold("1");
user2.setSecuritynumber(user.getSecuritynumber());
+ //校验保安员证编号是否合规
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setIdCardNo(userExcel.getCardid());
+ List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
+ if (securityPaperList.size()>0){
+ boolean state = false;
+ //遍历
+ for (SecurityPaper paper : securityPaperList) {
+ if (paper.getNumber().equals(user.getSecuritynumber())){
+ state = true;
+ }
+ }
+ if (!state){
+ user2.setHold("2");
+ user2.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
+ }else {
+ user2.setHold("2");
+ user2.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
}else {
user2.setHold("2");
}
//更新用户数据
user2.setUpdateTime(new Date());
this.updateById(user2);
+ //qfqk异步推送
+ myAsyncService.updateUserByQfqk(user2);
String s1 =
"update blade_user set hold = " + "'" + user2.getHold() + "'"
+ ",securitynumber = " + "'" + user2.getSecuritynumber() + "'"
@@ -985,7 +1041,8 @@
+ ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
+ ",registered = " + "'" + user2.getRegistered() + "'"
+ " " + "where id = " + "'" + user2.getId() + "'";
- FtpUtil.sqlFileUpload(s1);
+ //FtpUtil.sqlFileUpload(s1);
+ myAsyncService.FTP(s1);
}else {
status.set(false);
//加入集合
@@ -1000,6 +1057,30 @@
if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
user2.setHold("1");
user2.setSecuritynumber(user.getSecuritynumber());
+ //校验保安员证编号是否合规
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setIdCardNo(userExcel.getCardid());
+ List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
+ if (securityPaperList.size()>0){
+ boolean state = false;
+ //遍历
+ for (SecurityPaper paper : securityPaperList) {
+ if (paper.getNumber().equals(user.getSecuritynumber())){
+ state = true;
+ }
+ }
+ if (!state){
+ user2.setHold("2");
+ user2.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
+ }else {
+ user2.setHold("2");
+ user2.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
}else {
user2.setHold("2");
}
@@ -1011,13 +1092,17 @@
user2.setUpdateTime(new Date());
//更新用户数据
this.updateById(user2);
+ //qfqk异步推送
+ myAsyncService.updateUserByQfqk(user2);
+ //内网数据sql
String s1 =
"update blade_user set hold = " + "'" + user2.getHold() + "'"
+ ",securitynumber = " + "'" + user2.getSecuritynumber() + "'"
+ ",registered = " + "'" + user2.getRegistered() + "'"
+ ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
+ " " + "where id = " + "'" + user2.getId() + "'";
- FtpUtil.sqlFileUpload(s1);
+ //FtpUtil.sqlFileUpload(s1);
+ myAsyncService.FTP(s1);
}
}
}
@@ -1025,6 +1110,8 @@
//用户批量插入
if (userList.size()>0) {
baseMapper.batchUserList(userList);
+ //用户批量插入异步推送
+ myAsyncService.batchUserList(userList);
//sql 拼接
StringBuilder builder = new StringBuilder();
StringBuilder builder1 = new StringBuilder();
@@ -1072,7 +1159,8 @@
//判断list.size 大小
if (list.size()==1000){
//执行
- FtpUtil.sqlFileUpload(builder.toString());
+ //FtpUtil.sqlFileUpload(builder.toString());
+ myAsyncService.FTP(builder.toString());
//清空
builder.delete(0,builder.length());
}
@@ -1105,38 +1193,38 @@
//判断list.size 大小
if (split1.length==1000){
//执行
- FtpUtil.sqlFileUpload(builder1.toString());
+ //FtpUtil.sqlFileUpload(builder1.toString());
+ myAsyncService.FTP(builder1.toString());
//清空
builder1.delete(0,builder1.length());
}
}
//剩余的继续执行
- FtpUtil.sqlFileUpload(builder.toString());
- FtpUtil.sqlFileUpload(builder1.toString());
+ //FtpUtil.sqlFileUpload(builder.toString());
+ myAsyncService.FTP(builder.toString());
+ //FtpUtil.sqlFileUpload(builder1.toString());
+ myAsyncService.FTP(builder1.toString());
}
// System.out.println("导入时间: = " + (System.currentTimeMillis()-time));
//如果所有数据导入有一个异常
- if (!status.get() || !agetStatus.get()){
- if (!status.get() && agetStatus.get()) {
- String errorAccount = StringUtils.join(errorList, "\\\n");
- throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
- }
- if (!agetStatus.get() && status.get()) {
- String errorAccount = StringUtils.join(ageErrorList, "\\\n");
- throw new ServiceException("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
- }
- if (!status.get() && !agetStatus.get()) {
- String errorAccount = StringUtils.join(errorList, "\\\n");
- String errorAgeAccount = StringUtils.join(ageErrorList, "\\\n");
- throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!"+
- "用户:[" + errorAgeAccount + "]导入失败!身份证号码不正确,请核对!");
- }
+ StringBuilder errorBuilder = new StringBuilder();
+ if (!status.get()){
+ String errorAccount = StringUtils.join(errorList, "\\\n");
+ errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
}
-// if (!status.get()) {
-// String errorAccount = StringUtils.join(errorList, "\\\n");
-// throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
-// }
+ if (!agetStatus.get()){
+ String errorAccount = StringUtils.join(ageErrorList, "\\\n");
+ errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
+ }
+ if (!securityInvalidStatus.get()){
+ String errorAccount = StringUtils.join(securityInvalidList, "\\\n");
+ errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
+ }
+ //抛出异常
+ if (errorBuilder.length()>0){
+ throw new ServiceException(errorBuilder.toString());
+ }
}
@Override
@@ -1145,11 +1233,14 @@
List<String> errorList = new ArrayList<>();
//将需要新增的保安员信息存入集合
List<String> ageErrorList = new ArrayList<>();
+ //保安员证编号不符的保安员信息存入集合
+ List<String> securityInvalidList = new ArrayList<>();
//将需要更新的保安员信息存入集合
List<User> updateList = new ArrayList<>();
//导入状态,默认为true ,如果有一个出现问题则为 false
AtomicBoolean status = new AtomicBoolean(true);
AtomicBoolean agetStatus = new AtomicBoolean(true);
+ AtomicBoolean securityInvalidStatus = new AtomicBoolean(true);
data.forEach(userExcel -> {
User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class));
//设置部门id
@@ -1206,6 +1297,30 @@
//判断是否持证
if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
user.setHold("1");
+ //校验保安员证编号是否合规
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setIdCardNo(userExcel.getCardid());
+ List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
+ if (securityPaperList.size()>0){
+ boolean state = false;
+ //遍历
+ for (SecurityPaper paper : securityPaperList) {
+ if (paper.getNumber().equals(user.getSecuritynumber())){
+ state = true;
+ }
+ }
+ if (!state){
+ user.setHold("2");
+ user.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
+ }else {
+ user.setHold("2");
+ user.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
}else {
user.setHold("2");
}
@@ -1240,6 +1355,8 @@
user.setCreateTime(new Date());
//新增
this.save(user);
+ //qfqk 推送
+ myAsyncService.qfqkUserSave(user);
//从业记录新增
Experience experience = new Experience();
@@ -1298,7 +1415,8 @@
"," + "'" + experience.getCompanyname() + "'" +
"," + "'" + experience.getSecurityid() + "'"
+ ")";
- FtpUtil.sqlFileUpload(s);
+ //FtpUtil.sqlFileUpload(s);
+ myAsyncService.FTP(s);
}
else {
//匹配组织机构是否一致,如果不一致
@@ -1329,6 +1447,30 @@
if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
user2.setHold("1");
user2.setSecuritynumber(user.getSecuritynumber());
+ //校验保安员证编号是否合规
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setIdCardNo(userExcel.getCardid());
+ List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
+ if (securityPaperList.size()>0){
+ boolean state = false;
+ //遍历
+ for (SecurityPaper paper : securityPaperList) {
+ if (paper.getNumber().equals(user.getSecuritynumber())){
+ state = true;
+ }
+ }
+ if (!state){
+ user2.setHold("2");
+ user2.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
+ }else {
+ user2.setHold("2");
+ user2.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
}else {
user2.setHold("2");
}
@@ -1340,6 +1482,9 @@
user2.setUpdateTime(new Date());
//更新用户数据
this.updateById(user2);
+ //qfqk 推送
+ myAsyncService.updateUserByQfqk(user);
+
String s1 =
"update blade_user set hold = " + "'" + user2.getHold() + "'"
+ ",securitynumber = " + "'" + user2.getSecuritynumber() + "'"
@@ -1347,7 +1492,8 @@
+ ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
+ ",registered = " + "'" + user2.getRegistered() + "'"
+ " " + "where id = " + "'" + user2.getId() + "'";
- FtpUtil.sqlFileUpload(s1);
+ //FtpUtil.sqlFileUpload(s1);
+ myAsyncService.FTP(s1);
}else {
status.set(false);
//加入集合
@@ -1371,6 +1517,30 @@
if (null != userExcel.getSecuritynumber() && userExcel.getSecuritynumber() != "") {
user2.setHold("1");
user2.setSecuritynumber(user.getSecuritynumber());
+ //校验保安员证编号是否合规
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setIdCardNo(userExcel.getCardid());
+ List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
+ if (securityPaperList.size()>0){
+ boolean state = false;
+ //遍历
+ for (SecurityPaper paper : securityPaperList) {
+ if (paper.getNumber().equals(user.getSecuritynumber())){
+ state = true;
+ }
+ }
+ if (!state){
+ user2.setHold("2");
+ user2.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
+ }else {
+ user2.setHold("2");
+ user2.setSecuritynumber(null);
+ securityInvalidList.add(userExcel.getCardid());
+ securityInvalidStatus.set(false);
+ }
}else {
user2.setHold("2");
}
@@ -1382,36 +1552,37 @@
user2.setUpdateTime(new Date());
//更新用户数据
this.updateById(user2);
+ //qfqk 推送
+ myAsyncService.updateUserByQfqk(user);
+
String s1 =
"update blade_user set hold = " + "'" + user2.getHold() + "'"
+ ",securitynumber = " + "'" + user2.getSecuritynumber() + "'"
+ ",registered = " + "'" + user2.getRegistered() + "'"
+ ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(user2.getUpdateTime()) + "'"
+ " " + "where id = " + "'" + user2.getId() + "'";
- FtpUtil.sqlFileUpload(s1);
+ //FtpUtil.sqlFileUpload(s1);
+ myAsyncService.FTP(s1);
}
}
});
//如果所有数据导入有一个异常
-// if (!status.get()){
-// String errorAccount = StringUtils.join(errorList, "\\\n");
-// throw new ServiceException("用户:["+errorAccount+"]导入失败!已在其他单位存在!");
-// }
- if (!status.get() || !agetStatus.get()){
- if (!status.get() && agetStatus.get()) {
- String errorAccount = StringUtils.join(errorList, "\\\n");
- throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
- }
- if (!agetStatus.get() && status.get()) {
- String errorAccount = StringUtils.join(ageErrorList, "\\\n");
- throw new ServiceException("用户:[" + errorAccount + "]导入失败!身份证号码不正确,请核对!");
- }
- if (!status.get() && !agetStatus.get()) {
- String errorAccount = StringUtils.join(errorList, "\\\n");
- String errorAgeAccount = StringUtils.join(ageErrorList, "\\\n");
- throw new ServiceException("用户:[" + errorAccount + "]导入失败!已在其他单位存在!"+
- "用户:[" + errorAgeAccount + "]导入失败!身份证号码不正确,请核对!");
- }
+ StringBuilder errorBuilder = new StringBuilder();
+ if (!status.get()){
+ String errorAccount = StringUtils.join(errorList, "\\\n");
+ errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
+ }
+ if (!agetStatus.get()){
+ String errorAccount = StringUtils.join(ageErrorList, "\\\n");
+ errorBuilder.append("用户:[" + errorAccount + "]导入失败!已在其他单位存在!");
+ }
+ if (!securityInvalidStatus.get()){
+ String errorAccount = StringUtils.join(securityInvalidList, "\\\n");
+ errorBuilder.append("用户:[" + errorAccount + "]保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
+ }
+ //抛出异常
+ if (errorBuilder.length()>0){
+ throw new ServiceException(errorBuilder.toString());
}
}
@@ -1743,4 +1914,39 @@
//返回
return list;
}
+
+ /**
+ * 查询登录密码还是 123456 的单位信息
+ * @return
+ */
+ @Override
+ public Object getNotUpdatePwdInfo() {
+ //查询角色为保安公司管理员的用户信息
+ User user = new User();
+ user.setRoleId("1414575196264300546");
+ user.setStatus(1);
+ user.setIsDeleted(0);
+ List<User> list = this.list(Condition.getQueryWrapper(user));
+ List<User> list1 = new ArrayList<>();
+ //遍历
+ if (list.size()>0){
+ byte[] bytes = DigestUtil.decodeHex(list.get(0).getPassword());
+ try {
+ System.out.println("解密的密码 = " + new String(bytes));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return list;
+ }
+
+ /**
+ * 根据用户 id 查询用户信息
+ * @param id
+ * @return
+ */
+ @Override
+ public User getUserById(String id) {
+ return baseMapper.getUserById(Long.parseLong(id));
+ }
}
--
Gitblit v1.9.3