|
@@ -321,7 +321,19 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
|
XSSFCell reportDateCell = firstRow.getCell(1);
|
|
|
XSSFCell expenseTypeCell = firstRow.getCell(2);
|
|
|
XSSFCell remarksCell = firstRow.getCell(3);
|
|
|
-
|
|
|
+ List<String> userNameList=new ArrayList<>();
|
|
|
+ String value = reimburserCell.getStringCellValue();
|
|
|
+ if(userNameList.contains(value)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ userNameList.add(value);
|
|
|
+ System.out.println("参与搜素的人员列表"+userNameList);
|
|
|
+ HttpRespMsg respMsg = wxCorpInfoService.getBatchSearchUserInfo(wxCorpInfo, userNameList);
|
|
|
+ if(respMsg.code.equals("0")){
|
|
|
+ msg.setError("姓名为["+String.valueOf(respMsg.data)+"]的人员存在重复,请使用工号!");
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+ List<User> targetUserList= (List<User>) respMsg.data;
|
|
|
if (reimburserCell != null) reimburserCell.setCellType(CellType.STRING);
|
|
|
if (reportDateCell != null) reportDateCell.setCellType(CellType.NUMERIC);
|
|
|
if (expenseTypeCell != null) expenseTypeCell.setCellType(CellType.STRING);
|
|
@@ -362,19 +374,20 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
|
.atZone(ZoneId.systemDefault()).toLocalDate();
|
|
|
expenseSheet.setCreateDate(localDate);
|
|
|
Optional<User> first;
|
|
|
- if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()!=1){
|
|
|
- first = userList.stream().filter(us -> us.getName().equals(reimburserCell.getStringCellValue())).findFirst();
|
|
|
+ if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
|
|
|
+ Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(reimburserCell.getStringCellValue())).findFirst();
|
|
|
+ first = userList.stream().filter(us -> us.getName().equals(reimburserCell.getStringCellValue())||(us.getJobNumber()!=null&&us.getJobNumber().equals(reimburserCell.getStringCellValue()))||(optional.isPresent()&&us.getCorpwxUserid()!=null&&us.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))).findFirst();
|
|
|
}else {
|
|
|
- first = userList.stream().filter(us -> us.getName().equals(reimburserCell.getStringCellValue())||(us.getJobNumber()!=null&&us.getJobNumber().equals(reimburserCell.getStringCellValue()))).findFirst();
|
|
|
+ first = userList.stream().filter(us -> us.getName().equals(reimburserCell.getStringCellValue())).findFirst();
|
|
|
}
|
|
|
if (first.isPresent()) {
|
|
|
expenseSheet.setOwnerId(first.get().getId());
|
|
|
expenseSheet.setOwnerName(first.get().getName());
|
|
|
} else {
|
|
|
- if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()!=1){
|
|
|
- throw new Exception("报销人[" +reimburserCell+"]不存在");
|
|
|
- }else {
|
|
|
+ if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
|
|
|
throw new Exception("报销人/工号[" +reimburserCell+"]不存在");
|
|
|
+ }else {
|
|
|
+ throw new Exception("报销人[" +reimburserCell+"]不存在");
|
|
|
}
|
|
|
}
|
|
|
expenseSheet.setOperatorId(user.getId());
|