|
@@ -358,38 +358,39 @@ public class FinanceServiceImpl extends ServiceImpl<FinanceMapper, Finance> impl
|
|
|
}
|
|
|
userService.updateBatchById(dbUpUserList);
|
|
|
}
|
|
|
- //检查是否有删除的,需要删除掉
|
|
|
- List<Integer> readyForDelete = new ArrayList<>();
|
|
|
- oldFinanceList.forEach(old->{
|
|
|
- boolean exists = false;
|
|
|
- if (financeList.stream().filter(f->f.getName().equals(old.getName())).findAny().isPresent()) {
|
|
|
- exists = true;
|
|
|
- }
|
|
|
- if (!exists) {
|
|
|
- readyForDelete.add(old.getId());
|
|
|
- }
|
|
|
- });
|
|
|
- if (readyForDelete.size() > 0) {
|
|
|
- financeService.removeByIds(readyForDelete);
|
|
|
- }
|
|
|
+ //修改成每次上传都新增更新,不删除。 前端界面增加删除功能。
|
|
|
+// List<Integer> readyForDelete = new ArrayList<>();
|
|
|
+// oldFinanceList.forEach(old->{
|
|
|
+// boolean exists = false;
|
|
|
+// if (financeList.stream().filter(f->f.getName().equals(old.getName())).findAny().isPresent()) {
|
|
|
+// exists = true;
|
|
|
+// }
|
|
|
+// if (!exists) {
|
|
|
+// readyForDelete.add(old.getId());
|
|
|
+// }
|
|
|
+// });
|
|
|
+// if (readyForDelete.size() > 0) {
|
|
|
+// financeService.removeByIds(readyForDelete);
|
|
|
+// }
|
|
|
//如果有必要,更新该月份的日报相关的成本
|
|
|
if (syncHistoryReport) {
|
|
|
List<Report> reportList = reportMapper.selectSimpleTime(companyId, startStr, endStr);
|
|
|
if (reportList.size() > 0) {
|
|
|
+ List<Report> updateReportList = new ArrayList<>();
|
|
|
for (Report r : reportList) {
|
|
|
Optional<User> first = updateUserList.stream().filter(u -> u.getId().equals(r.getCreatorId())).findFirst();
|
|
|
- if (!first.isPresent()) {
|
|
|
- String notFillUser = userMapper.selectById(r.getCreatorId()).getName();
|
|
|
- System.out.println("缺少[" + notFillUser + "]的薪资成本, 请修改数据重新上传");
|
|
|
- throw new UserNotFoundException("缺少[" + notFillUser + "]的薪资成本, 请修改数据重新上传");
|
|
|
+ if (first.isPresent()) {
|
|
|
+ BigDecimal hourCost = first.get().getCost();
|
|
|
+ r.setCost(hourCost.multiply(new BigDecimal(r.getWorkingTime())));
|
|
|
+ r.setCreatorId(null);
|
|
|
+ r.setWorkingTime(null);
|
|
|
+ updateReportList.add(r);
|
|
|
}
|
|
|
- BigDecimal hourCost = first.get().getCost();
|
|
|
- r.setCost(hourCost.multiply(new BigDecimal(r.getWorkingTime())));
|
|
|
- r.setCreatorId(null);
|
|
|
- r.setWorkingTime(null);
|
|
|
}
|
|
|
//批量更新日报的成本
|
|
|
- reportService.updateBatchById(reportList);
|
|
|
+ if (updateReportList.size() > 0) {
|
|
|
+ reportService.updateBatchById(updateReportList);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|