智慧保安后台管理-外网项目备份
zhongrj
2022-08-23 2d696f34d7629dcef6dd563a5b40c8239511f0b3
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