From 2d696f34d7629dcef6dd563a5b40c8239511f0b3 Mon Sep 17 00:00:00 2001
From: zhongrj <123456>
Date: Tue, 23 Aug 2022 16:16:59 +0800
Subject: [PATCH] 许可证信息,社保信息同步
---
src/main/java/org/springblade/modules/social/service/impl/SocialServiceImpl.java | 75 ++++++++++++++++++++++++++++++++++---
1 files changed, 69 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/springblade/modules/social/service/impl/SocialServiceImpl.java b/src/main/java/org/springblade/modules/social/service/impl/SocialServiceImpl.java
index ba702d5..e363e47 100644
--- a/src/main/java/org/springblade/modules/social/service/impl/SocialServiceImpl.java
+++ b/src/main/java/org/springblade/modules/social/service/impl/SocialServiceImpl.java
@@ -19,15 +19,23 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.social.entity.Social;
import org.springblade.modules.social.excel.SocialExcel;
import org.springblade.modules.social.mapper.SocialMapper;
import org.springblade.modules.social.service.ISocialService;
import org.springblade.modules.social.vo.SocialVO;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -41,6 +49,11 @@
@Service
public class SocialServiceImpl extends ServiceImpl<SocialMapper, Social> implements ISocialService {
+ @Autowired
+ private MyAsyncService myAsyncService;
+
+ @Autowired
+ private IUserService userService;
@Override
@@ -49,15 +62,34 @@
}
@Override
+// @Transactional(rollbackFor = Exception.class)
public void importUser(List<SocialExcel> data, Boolean isCovered,String deptid) {
- data.forEach(SocialExcel -> {
- Social social = Objects.requireNonNull(BeanUtil.copy(SocialExcel, Social.class));
+ //没有录入的人员
+ List<String> notFoundList = new ArrayList<>();
+ int num = 0;
+ //遍历
+ for (SocialExcel socialExcel : data) {
+ Social social = Objects.requireNonNull(BeanUtil.copy(socialExcel, Social.class));
+ if (StringUtils.isBlank(social.getCardid())){
+ throw new ServiceException("身份证号不能为空!");
+ }
+ //判断人员是否已录入
+ User user = userService.getUserInfoByIdCardNo(social.getCardid());
+ if (null == user){
+ notFoundList.add(social.getCardid());
+ num ++;
+ //终止本个循环,继续下一个循环
+ continue;
+ }
+
+ //设置用户id
+ social.setNamb(user.getId().toString());
// if (null!=social.getSex() && !"".equals(social.getSex())) {
-// if (social.getSex().equals("男")){
+// if (social.getSex().contains("男")){
// social.setSex("1");
// }
-// if (social.getSex().equals("女")){
+// if (social.getSex().contains("女")){
// social.setSex("2");
// }
// }
@@ -80,9 +112,40 @@
social.setNation(social.getNation());
}
social.setDeptid(deptid);
+ //设置状态
this.upSoil(social.getCardid());
- this.save(social);
- });
+ //新增
+ boolean save = this.save(social);
+
+ if (save) {
+ //内网同步
+ String sql =
+ "insert into sys_socil(id,namb,sex,nation,telephone,cardid,residence,amount,insuredtime,deptid) " +
+ "values(" + "'" + social.getId() + "'"
+ + "," + "'" + social.getNamb() + "'"
+ + "," + "'" + social.getSex() + "'" +
+ "," + "'" + social.getNation() + "'" +
+ "," + "'" + social.getTelephone() + "'" +
+ "," + "'" + social.getCardid() + "'" +
+ "," + "'" + social.getResidence() + "'" +
+ "," + "'" + social.getAmount() + "'" +
+ "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(social.getInsuredtime()) + "'" +
+ "," + "'" + social.getDeptid() + "'" + ")";
+ myAsyncService.dataSync(sql);
+ }
+ }
+
+ //如果所有数据导入有一个异常
+ StringBuilder errorBuilder = new StringBuilder();
+ if (num>0){
+ String errorAccount = StringUtils.join(notFoundList, "\\\n");
+ errorBuilder.append("用户:[" + errorAccount + "]社保记录导入失败!该人员尚未录入!");
+ }
+ //抛出异常
+ if (errorBuilder.length()>0){
+ throw new ServiceException(errorBuilder.toString());
+ }
+
}
@Override
--
Gitblit v1.9.3