|
|
|
@ -43,6 +43,7 @@ import java.math.BigDecimal;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -222,13 +223,13 @@ public class PoiStoreStaffService {
|
|
|
|
|
Sheet sheet = book.getSheetAt(0);
|
|
|
|
|
// 行数
|
|
|
|
|
int totalRows = sheet.getPhysicalNumberOfRows();
|
|
|
|
|
if(totalRows == 3){
|
|
|
|
|
if(totalRows == 4){
|
|
|
|
|
ImportAccountErrorBean errorBean = new ImportAccountErrorBean();
|
|
|
|
|
errorBean.setError("文件内没有人员信息");
|
|
|
|
|
errorBeanList.add(errorBean);
|
|
|
|
|
return errorBeanList;
|
|
|
|
|
}
|
|
|
|
|
for (int r = 3; r < totalRows; r++) {
|
|
|
|
|
for (int r = 4; r < totalRows; r++) {
|
|
|
|
|
Row row = sheet.getRow(r);
|
|
|
|
|
if (row == null) {
|
|
|
|
|
continue;
|
|
|
|
@ -257,25 +258,27 @@ public class PoiStoreStaffService {
|
|
|
|
|
* @param errorBeanList 错误List
|
|
|
|
|
*/
|
|
|
|
|
public void checkRepeat(List<PoiStoreStaffVO> poiStoreStaffVOList, List<ImportAccountErrorBean> errorBeanList){
|
|
|
|
|
AtomicInteger rowNum = new AtomicInteger(5);
|
|
|
|
|
//表格内重复
|
|
|
|
|
for(int i=0;i<poiStoreStaffVOList.size();i++){
|
|
|
|
|
String staffCode = poiStoreStaffVOList.get(i).getStaffCode();
|
|
|
|
|
for(int j = i;j<poiStoreStaffVOList.size();j++){
|
|
|
|
|
if(j != i && poiStoreStaffVOList.get(j).getStaffCode().equals(staffCode)){
|
|
|
|
|
ImportAccountErrorBean errorBean = new ImportAccountErrorBean();
|
|
|
|
|
errorBean.setError("第" + (i + 1) +"行工号,表格内有重复");
|
|
|
|
|
errorBean.setRow(i + 1);
|
|
|
|
|
errorBean.setError("第" + rowNum.get() +"行工号,表格内有重复");
|
|
|
|
|
errorBean.setRow(rowNum.get());
|
|
|
|
|
errorBeanList.add(errorBean);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
rowNum.incrementAndGet();
|
|
|
|
|
}
|
|
|
|
|
//与数据库重复
|
|
|
|
|
AtomicInteger rowNum = new AtomicInteger(2);
|
|
|
|
|
rowNum.set(5);
|
|
|
|
|
poiStoreStaffVOList.forEach(staff -> {
|
|
|
|
|
//查询是否存在
|
|
|
|
|
QueryWrapper<PoiStoreStaff> wrapper = new QueryWrapper<>();
|
|
|
|
|
wrapper.eq("staffCode", staff.getStaffCode());
|
|
|
|
|
wrapper.eq("staff_code", staff.getStaffCode());
|
|
|
|
|
PoiStoreStaff poiStoreStaff = poiStoreStaffDOMapper.selectOne(wrapper);
|
|
|
|
|
if(poiStoreStaff != null){
|
|
|
|
|
ImportAccountErrorBean errorBean = new ImportAccountErrorBean();
|
|
|
|
@ -283,15 +286,6 @@ public class PoiStoreStaffService {
|
|
|
|
|
errorBean.setRow(rowNum.get());
|
|
|
|
|
errorBeanList.add(errorBean);
|
|
|
|
|
}
|
|
|
|
|
//判断手机号
|
|
|
|
|
if(StringUtils.isNoneBlank(staff.getMobil())){
|
|
|
|
|
if(!isPhone(staff.getMobil())){
|
|
|
|
|
ImportAccountErrorBean errorBean = new ImportAccountErrorBean();
|
|
|
|
|
errorBean.setError("第" + rowNum.get() +"行手机号不正确");
|
|
|
|
|
errorBean.setRow(rowNum.get());
|
|
|
|
|
errorBeanList.add(errorBean);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//查询店铺
|
|
|
|
|
if(StringUtils.isNoneBlank(staff.getStoreName())&&StringUtils.isNoneBlank(staff.getStaffCode())){
|
|
|
|
|
QueryWrapper<PoiStore> wrapperStore = new QueryWrapper<>();
|
|
|
|
@ -358,23 +352,13 @@ public class PoiStoreStaffService {
|
|
|
|
|
String blankNames = blankNameList.stream().collect(Collectors.joining(",","",""));
|
|
|
|
|
if(StringUtils.isNotBlank(blankNames)){
|
|
|
|
|
ImportAccountErrorBean errorBean = new ImportAccountErrorBean();
|
|
|
|
|
errorBean.setError("第" + (r + 1) + "行:"+blankNames+"不能为空,请输入完整重新导入!");
|
|
|
|
|
errorBean.setRow(r + 1);
|
|
|
|
|
errorBean.setError("第" + (r+1) + "行:"+blankNames+"不能为空,请输入完整重新导入!");
|
|
|
|
|
errorBean.setRow(r+1);
|
|
|
|
|
errorBeanList.add(errorBean);
|
|
|
|
|
}
|
|
|
|
|
return poiStoreStaffVO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 手机号判断
|
|
|
|
|
* @param phone
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public boolean isPhone(String phone){
|
|
|
|
|
String reg = "^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$";
|
|
|
|
|
return reg.matches(phone);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 读取cell单元格的值,如果为日期格式,进行转换
|
|
|
|
|
*
|
|
|
|
|