|
@@ -365,7 +365,6 @@ public class TBDingServiceImpl extends ServiceImpl<TBDingMapper, TBDing> impleme
|
|
.eq(TBDing::getUserId, userId)
|
|
.eq(TBDing::getUserId, userId)
|
|
.eq(TBDing::getSignDate, signDate));
|
|
.eq(TBDing::getSignDate, signDate));
|
|
|
|
|
|
- List<String> otherSopNoList = tbSopInfoService.findFlowPassageByCrmNo(crmNo);
|
|
|
|
if (CollectionUtils.isEmpty(tbDingList)) {
|
|
if (CollectionUtils.isEmpty(tbDingList)) {
|
|
// 没有这天的打卡记录 - 新增打卡记录
|
|
// 没有这天的打卡记录 - 新增打卡记录
|
|
TBDing tbDing = new TBDing();
|
|
TBDing tbDing = new TBDing();
|
|
@@ -395,45 +394,30 @@ public class TBDingServiceImpl extends ServiceImpl<TBDingMapper, TBDing> impleme
|
|
tbDing.setFaceOutPass(facePass);
|
|
tbDing.setFaceOutPass(facePass);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- List<TBDing> willAddDingList = otherSopNoList.stream().flatMap(e -> {
|
|
|
|
- TBDing cell = new TBDing();
|
|
|
|
- BeanUtils.copyProperties(tbDing, cell);
|
|
|
|
- cell.setSopNo(e);
|
|
|
|
- return Stream.of(cell);
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
- this.saveBatch(willAddDingList);
|
|
|
|
|
|
+ this.save(tbDing);
|
|
} else {
|
|
} else {
|
|
// 有这天的打卡记录 - 签退打卡或更新打卡
|
|
// 有这天的打卡记录 - 签退打卡或更新打卡
|
|
if (tbDingList.size() > 1) {
|
|
if (tbDingList.size() > 1) {
|
|
throw ExceptionResultEnum.ERROR.exception(String.format("用户id为[%s],sop单号为[%s],在[%s]的打卡记录异常", userId, sopNo, signDate));
|
|
throw ExceptionResultEnum.ERROR.exception(String.format("用户id为[%s],sop单号为[%s],在[%s]的打卡记录异常", userId, sopNo, signDate));
|
|
}
|
|
}
|
|
- // 此人当天的所有sop打卡记录
|
|
|
|
- List<TBDing> recordList = this.list(new QueryWrapper<TBDing>().lambda()
|
|
|
|
- .eq(TBDing::getDingSopNo, sopNo)
|
|
|
|
- .eq(TBDing::getUserId, userId)
|
|
|
|
- .eq(TBDing::getSignDate, signDate));
|
|
|
|
-
|
|
|
|
|
|
+ TBDing tbDing = tbDingList.get(0);
|
|
switch (signType) {
|
|
switch (signType) {
|
|
case IN: // 签到打卡
|
|
case IN: // 签到打卡
|
|
- for (TBDing e : recordList) {
|
|
|
|
- e.setSignInTime(signTime);
|
|
|
|
- e.setSignInAddress(signAddress);
|
|
|
|
- e.setAxisInX(axisX);
|
|
|
|
- e.setAxisInY(axisY);
|
|
|
|
- e.setFaceInPass(facePass);
|
|
|
|
- }
|
|
|
|
|
|
+ tbDing.setSignInTime(signTime);
|
|
|
|
+ tbDing.setSignInAddress(signAddress);
|
|
|
|
+ tbDing.setAxisInX(axisX);
|
|
|
|
+ tbDing.setAxisInY(axisY);
|
|
|
|
+ tbDing.setFaceInPass(facePass);
|
|
break;
|
|
break;
|
|
case OUT: // 签退打卡
|
|
case OUT: // 签退打卡
|
|
- for (TBDing e : recordList) {
|
|
|
|
- e.setSignOutTime(signTime);
|
|
|
|
- e.setSignOutAddress(signAddress);
|
|
|
|
- e.setAxisOutX(axisX);
|
|
|
|
- e.setAxisOutY(axisY);
|
|
|
|
- e.setFaceOutPass(facePass);
|
|
|
|
- }
|
|
|
|
|
|
+ tbDing.setSignOutTime(signTime);
|
|
|
|
+ tbDing.setSignOutAddress(signAddress);
|
|
|
|
+ tbDing.setAxisOutX(axisX);
|
|
|
|
+ tbDing.setAxisOutY(axisY);
|
|
|
|
+ tbDing.setFaceOutPass(facePass);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- this.updateBatchById(recordList);
|
|
|
|
|
|
+ this.updateById(tbDing);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|