|
|
|
@ -112,6 +112,9 @@ public class StoreEmployeeService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private PoiStoreStaffDOMapper poiStoreStaffDOMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private PoiStoreStaffService poiStoreStaffService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private PrivilageDepartmentDOMapper departmentDOMapper;
|
|
|
|
|
|
|
|
|
@ -813,6 +816,46 @@ public class StoreEmployeeService {
|
|
|
|
|
return results;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 导入excel门店员工
|
|
|
|
|
*
|
|
|
|
|
* @param file excel文件
|
|
|
|
|
* @return
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
public List<ImportErrorDTO> importShopStaffByExcel(MultipartFile file) throws Exception {
|
|
|
|
|
List<ImportErrorDTO> results = new ArrayList<>();
|
|
|
|
|
if (file != null) {
|
|
|
|
|
if (!file.isEmpty()) {
|
|
|
|
|
//获取文件名
|
|
|
|
|
String fileName = file.getOriginalFilename();
|
|
|
|
|
InputStream fileInput = file.getInputStream();
|
|
|
|
|
// 根据后缀创建EXCEL对象
|
|
|
|
|
Workbook book;
|
|
|
|
|
if (ExcelUtils.isExcel2007(fileName)) {
|
|
|
|
|
book = new XSSFWorkbook(fileInput);
|
|
|
|
|
} else {
|
|
|
|
|
book = new HSSFWorkbook(fileInput);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 得到第一个sheet
|
|
|
|
|
Sheet sheet = book.getSheetAt(0);
|
|
|
|
|
// 得到Excel的行数
|
|
|
|
|
int totalRows = sheet.getPhysicalNumberOfRows();
|
|
|
|
|
|
|
|
|
|
// 循环Excel行数,获取数据
|
|
|
|
|
for (int r = 1; r < totalRows; r++) {
|
|
|
|
|
Row dataRow = sheet.getRow(r);
|
|
|
|
|
if (dataRow == null) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
addRowStaffInfo(dataRow, results, r);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return results;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Excel导入门店号-添加行信息
|
|
|
|
|
*
|
|
|
|
@ -888,6 +931,82 @@ public class StoreEmployeeService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Excel导入门店员工-添加行信息
|
|
|
|
|
*
|
|
|
|
|
* @param dataRow 行对象
|
|
|
|
|
* @param results 错误信息集合
|
|
|
|
|
* @param row 行数
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
|
|
|
|
private void addRowStaffInfo(Row dataRow, List<ImportErrorDTO> results, Integer row) throws Exception {
|
|
|
|
|
//初始化导购对象
|
|
|
|
|
com.kiisoo.ic.store.entity.PoiStoreStaffVO poiStoreStaffVO = new com.kiisoo.ic.store.entity.PoiStoreStaffVO();
|
|
|
|
|
//店铺code
|
|
|
|
|
String shopCode = dataRow.getCell(0).getStringCellValue();
|
|
|
|
|
if (StringUtils.isBlank(shopCode)) {
|
|
|
|
|
getReason(row, "未填写店铺Code", results);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
//查询店铺信息
|
|
|
|
|
QueryWrapper<PoiStore> storeParams = new QueryWrapper<>();
|
|
|
|
|
storeParams.eq(DATABASE_CODE_KEY, shopCode).last("limit 1");
|
|
|
|
|
PoiStore poiStore = poiStoreDOMapper.selectOne(storeParams);
|
|
|
|
|
if (poiStore == null) {
|
|
|
|
|
getReason(row, "未找到店铺", results);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
poiStoreStaffVO.setStoreId(poiStore.getId());
|
|
|
|
|
|
|
|
|
|
//获取员工名
|
|
|
|
|
String name = dataRow.getCell(1).getStringCellValue();
|
|
|
|
|
if (StringUtils.isBlank(name)) {
|
|
|
|
|
getReason(row, "未填写推广人员名称", results);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
poiStoreStaffVO.setName(name);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String mobile = dataRow.getCell(2).getStringCellValue();
|
|
|
|
|
if (StringUtils.isBlank(mobile)) {
|
|
|
|
|
getReason(row, "未填写手机号", results);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
poiStoreStaffVO.setMobil(mobile);
|
|
|
|
|
|
|
|
|
|
String staffCode = dataRow.getCell(3).getStringCellValue();
|
|
|
|
|
if (StringUtils.isBlank(staffCode)) {
|
|
|
|
|
getReason(row, "未填写工号", results);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
poiStoreStaffVO.setStaffCode(staffCode);
|
|
|
|
|
|
|
|
|
|
String roleCode = dataRow.getCell(4).getStringCellValue();
|
|
|
|
|
if (StringUtils.isBlank(roleCode)) {
|
|
|
|
|
getReason(row, "未填写角色", results);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
poiStoreStaffVO.setRole(roleCode);
|
|
|
|
|
|
|
|
|
|
String returnCode = poiStoreStaffService.addStaff(poiStoreStaffVO);
|
|
|
|
|
switch (returnCode){
|
|
|
|
|
case "0001":
|
|
|
|
|
getReason(row, "新增失败,请联系管理员", results);
|
|
|
|
|
return;
|
|
|
|
|
case "0002":
|
|
|
|
|
getReason(row, "该员工已存在", results);
|
|
|
|
|
return;
|
|
|
|
|
case "0003":
|
|
|
|
|
getReason(row, "该手机号已存在", results);
|
|
|
|
|
return;
|
|
|
|
|
case "0004":
|
|
|
|
|
getReason(row, "该账号已存在", results);
|
|
|
|
|
return;
|
|
|
|
|
default:
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 添加错误原因
|
|
|
|
|
*
|
|
|
|
|