Browse Source

重复人员不能重复导入

feature/yujt_vim
zhangyuan 4 years ago
parent
commit
406439599a
  1. 26
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicReportUserInfoServiceImpl.java
  2. 2
      epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationInfoDao.xml

26
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicReportUserInfoServiceImpl.java

@ -11,6 +11,7 @@ import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.*;
import com.elink.esua.epdc.vaccine.epidemic.constant.StrConstant;
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicReportUserInfoDao;
import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInfoDao;
import com.elink.esua.epdc.vaccine.epidemic.dto.*;
import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicReportUserInfoEntity;
import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserErrorEntity;
@ -32,10 +33,12 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 疫情人员报备信息表
@ -52,6 +55,9 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
public EpidemicUserInoutRecordService epidemicUserInoutRecordService;
@Autowired
public EpidemicUserErrorService epidemicUserErrorService;
@Resource
private EpidemicUserInfoDao epidemicUserInfoDao;
private Logger log = LoggerFactory.getLogger(IpUtils.class);
@ -274,6 +280,9 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
List<EpidemicReportUserInfoAllExcel> addErrorList = new ArrayList<>();
log.info("准备进入Excel数据导入循环");
List<EpidemicUserInfoEntity> allUserList = epidemicUserInfoDao.selectAllUserInfo();
List<String> allUserIdCards = allUserList.stream().map(EpidemicUserInfoEntity::getIdCard).collect(Collectors.toList());
EpidemicReportUserInfoAllExcel epidemicReportUserInfoAllExcel;
String idCard;
int age;
@ -321,15 +330,22 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
}
epidemicReportUserInfoAllExcel.setAge(age);
}
if (allUserIdCards.contains(idCard.toLowerCase()) || allUserIdCards.contains(idCard.toUpperCase())) {
epidemicReportUserInfoAllExcel.setErrorInfo("该人员已存在,无需再次导入");
addErrorList.add(epidemicReportUserInfoAllExcel);
continue;
}
addList.add(epidemicReportUserInfoAllExcel);
deleteIdCardArr.add(idCard);
}
// 对规范数据,根据身份证号进行逻辑删除
if (deleteIdCardArr.size() > 0) {
baseDao.deleteInfoByIdCard(deleteIdCardArr);
baseDao.deleteRecordByIdCard(deleteIdCardArr);
}
// // 对规范数据,根据身份证号进行逻辑删除
// if (deleteIdCardArr.size() > 0) {
// baseDao.deleteInfoByIdCard(deleteIdCardArr);
// baseDao.deleteRecordByIdCard(deleteIdCardArr);
// }
// 插入数据----需改为批量插入
List<EpidemicUserInfoEntity> insertUserList = new ArrayList<>();

2
epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationInfoDao.xml

@ -10,6 +10,7 @@
FROM
vaccination_info v
<if test="vaccTime != null and vaccTime != '' and vaccTime != 0">
LEFT JOIN epidemic_user_info u ON u.ID_CARD = v.IDENTITY_NO
INNER JOIN (
SELECT
IDENTITY_NO,
@ -38,6 +39,7 @@
AND v.COMPANY_ID = #{companyId}
</if>
<if test="vaccTime != null and vaccTime != '' and vaccTime != 0">
AND u.VACCINATION_STATE = 1
AND datediff(NOW(), v.CREATED_TIME) >= #{vaccTime}
</if>
<if test="vaccNo != null and vaccNo != '' and vaccNo != 0">

Loading…
Cancel
Save