| | |
| | | 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; |
| | |
| | | @Service |
| | | public class SocialServiceImpl extends ServiceImpl<SocialMapper, Social> implements ISocialService { |
| | | |
| | | @Autowired |
| | | private MyAsyncService myAsyncService; |
| | | |
| | | @Autowired |
| | | private IUserService userService; |
| | | |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @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"); |
| | | // } |
| | | // } |
| | |
| | | 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 |