提交 14f8b7d9 authored 作者: 000516's avatar 000516 提交者: Coding

飞书表格打卡时间、打卡定位合并

Merge Request: 飞书表格打卡时间、打卡定位合并 Created By: @李秋林 Accepted By: @李秋林 URL: https://g-pkkp8204.coding.net/p/promotion/d/wangxiaolu-export/git/merge/186?initial=true
......@@ -41,29 +41,39 @@ public class ActivityToFeishuSheet {
*/
@PostMapping("/feishu/sheet")
public void activityList(@RequestBody ActivityVo activityVo) {
//
// /**
// * 1>> 查询活动记录
// * 查询当天的记录
// */
// List<TemporaryActivityReportedDO> reportedDos = promotionActivityService.findActivityList(activityVo);
// List<Long> activityId = reportedDos.stream().map(TemporaryActivityReportedDO::getId).collect(Collectors.toList());
// Map<Long, List<TemporaryActivityPhotoDO>> activityPhotos = promotionActivityService.findActivityPhotos(activityId);
//
// /**
// * 2>> 查询打卡记录
// */
// List<TemporaryActivityClockDO> clockPhoto = promotionActivityService.findClockPhoto(activityVo);
// Map<String, List<TemporaryActivityPhotoDO>> clockPhotoMap = new HashMap<>();
// clockPhoto.stream().forEach(cp -> {
// clockPhotoMap.put(cp.getTemporaryId() + "-" + cp.getCreateDate(), cp.getPhotoList());
// });
//
// log.info("============== 活动记录上传飞书 start(" + System.currentTimeMillis() + ") ==============");
//
// activityToFeishuSheetService.activityDataToFeishuSheet(reportedDos,activityPhotos,clockPhotoMap);
//
// log.info("============== 活动记录上传飞书 end(" + System.currentTimeMillis() + ") ==============");
/**
* 1>> 查询活动记录
* 查询当天的记录
*/
List<TemporaryActivityReportedDO> reportedDos = promotionActivityService.findActivityList(activityVo);
log.info("应上传飞书{}条活动记录",reportedDos.size());
if (CollectionUtils.isEmpty(reportedDos)){
log.info("无活动记录,停止上传");
return;
}
List<Long> activityIds = reportedDos.stream().map(TemporaryActivityReportedDO::getId).collect(Collectors.toList());
Map<Long, List<TemporaryActivityPhotoDO>> activityPhotos = promotionActivityService.findActivityPhotos(activityIds);
Map<Long, TemporaryActivityClockDO> clockMap = promotionActivityService.findClockInfoByActivityIds(activityIds);
/**
* 2>> 查询打卡图片
*/
List<TemporaryActivityClockDO> clockPhoto = promotionActivityService.findClockPhotoByActivityIds(activityIds);
Map<String, List<TemporaryActivityPhotoDO>> clockPhotoMap = new HashMap<>();
clockPhoto.stream().forEach(cp -> {
clockPhotoMap.put(cp.getTemporaryId() + "-" + cp.getCreateDate(), cp.getPhotoList());
});
activityToFeishuSheetService.activityDataToFeishuSheet(reportedDos,activityPhotos,clockMap,clockPhotoMap);
log.info("============== 活动记录上传飞书 end ==============");
}
@GetMapping("/feishu/yesterday_sheet")
......
......@@ -147,30 +147,44 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
return;
}
String rangFormat = sheetInfoD.getSheetId() + "!%s" + rowNumStr + ":%s" + rowNumStr;
// T-AB: 上班打卡时间/地点 午休下班打卡时间/地点 午休上班打卡时间/地点 下班打卡时间/地点
if (Objects.nonNull(clockDo)){
if (Objects.nonNull(clockDo)) {
List<Object> rowClockData = new ArrayList<>();
if (Objects.nonNull(clockDo.getClockInTime()) && Objects.nonNull(clockDo.getClockOutTime())){
if (Objects.nonNull(clockDo.getClockInTime()) && Objects.nonNull(clockDo.getClockOutTime())) {
long tl = DateUtil.between(clockDo.getClockInTime(), clockDo.getClockOutTime(), DateUnit.MINUTE);
long hour = tl / 60;
long minute = tl % 60;
rowClockData.add(hour + "." + minute);
}else {
} else {
rowClockData.add("0");
}
rowClockData.add(DateUtil.formatDateTime(clockDo.getClockInTime()));
rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockOutTime()));
rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockInTime()));
rowClockData.add(DateUtil.formatDateTime(clockDo.getClockOutTime()));
rowClockData.add(clockDo.getClockInAddress());
rowClockData.add(clockDo.getNoonClockOutAddress());
rowClockData.add(clockDo.getNoonClockInAddress());
rowClockData.add(clockDo.getClockOutAddress());
String range =String.format(rangFormat, "T", "AB");
updateClockData(range,rowClockData);
// 打卡时间
StringBuilder timeSb = new StringBuilder("(上班卡)");
timeSb.append(DateUtil.formatDateTime(clockDo.getClockInTime())).append("、(午休下班卡)")
.append(DateUtil.formatDateTime(clockDo.getNoonClockOutTime())).append("、(午休上班卡)")
.append(DateUtil.formatDateTime(clockDo.getNoonClockInTime())).append("、(下班卡)")
.append(DateUtil.formatDateTime(clockDo.getClockOutTime()));
// rowClockData.add(DateUtil.formatDateTime(clockDo.getClockInTime()));
// rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockOutTime()));
// rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockInTime()));
// rowClockData.add(DateUtil.formatDateTime(clockDo.getClockOutTime()));
rowClockData.add(timeSb.toString());
// 打卡地点
StringBuilder addrSb = new StringBuilder();
addrSb.append(clockDo.getClockInAddress()).append("、")
.append(clockDo.getNoonClockOutAddress()).append("、")
.append(clockDo.getNoonClockInAddress()).append("、")
.append(clockDo.getClockOutAddress());
// rowClockData.add(clockDo.getClockInAddress());
// rowClockData.add(clockDo.getNoonClockOutAddress());
// rowClockData.add(clockDo.getNoonClockInAddress());
// rowClockData.add(clockDo.getClockOutAddress());
rowClockData.add(clockDo.toString());
String range = String.format(rangFormat, "T", "V");
updateClockData(range, rowClockData);
}
/**
......@@ -216,22 +230,22 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
Map<Integer, String> clockMap = activityClock.stream().collect(Collectors.toMap(TemporaryActivityPhotoDO::getType, TemporaryActivityPhotoDO::getPhotoUrl));
// 上班打卡照片 >>>
if (clockMap.containsKey(4)) {
valuesImageToSheet(String.format(rangFormat, "AC", "AC"), clockMap.get(4));
valuesImageToSheet(String.format(rangFormat, "W", "W"), clockMap.get(4));
}
// 午休下班打卡照片 >>>
if (clockMap.containsKey(5)) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AD", "AD"), clockMap.get(5));
valuesImageToSheetByRobot2(String.format(rangFormat, "X", "X"), clockMap.get(5));
}
// 午休上班打卡照片 >>>
if (clockMap.containsKey(6)) {
valuesImageToSheet(String.format(rangFormat, "AE", "AE"), clockMap.get(6));
valuesImageToSheet(String.format(rangFormat, "Y", "Y"), clockMap.get(6));
}
// 下班打卡照片 >>>
if (clockMap.containsKey(7)) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AF", "AF"), clockMap.get(7));
valuesImageToSheetByRobot2(String.format(rangFormat, "Z", "Z"), clockMap.get(7));
}
log.info("上传打卡照片完成,行号:{}", rowNumStr);
......@@ -243,25 +257,25 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int photosType1Size = photosType1.size();
// 推广试吃照片1 >>>
if (!(photosType1Size < 1 || Objects.isNull(photosType1.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "AG", "AG"), photosType1.get(0).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AA", "AA"), photosType1.get(0).getPhotoUrl());
pct.append("试吃1:"+DateUtil.formatDateTime(photosType1.get(0).getCreateTime()));
}
// 推广试吃照片2 >>>
if (!(photosType1Size < 2 || Objects.isNull(photosType1.get(1)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AH", "AH"), photosType1.get(1).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AB", "AB"), photosType1.get(1).getPhotoUrl());
pct.append("、试吃2:"+DateUtil.formatDateTime(photosType1.get(1).getCreateTime()));
}
// 推广试吃照片3 >>>
if (!(photosType1Size < 3 || Objects.isNull(photosType1.get(2)))) {
valuesImageToSheet(String.format(rangFormat, "AI", "AI"), photosType1.get(2).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AC", "AC"), photosType1.get(2).getPhotoUrl());
pct.append("、试吃3:"+DateUtil.formatDateTime(photosType1.get(2).getCreateTime()));
}
// 推广试吃照片4 >>>
if (!(photosType1Size < 4 || Objects.isNull(photosType1.get(3)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AJ", "AJ"), photosType1.get(3).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AD", "AD"), photosType1.get(3).getPhotoUrl());
pct.append("、试吃4:"+DateUtil.formatDateTime(photosType1.get(3).getCreateTime()));
}
log.info("上传推广-试吃照片完成,行号:{}", rowNumStr);
......@@ -273,25 +287,25 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int photosType2Size = photosType2.size();
// 推广互动照片1 >>>
if (!(photosType2Size < 1 || Objects.isNull(photosType2.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "AK", "AK"), photosType2.get(0).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AE", "AE"), photosType2.get(0).getPhotoUrl());
pct.append("、互动1:"+DateUtil.formatDateTime(photosType2.get(0).getCreateTime()));
}
// 推广互动照片2 >>>
if (!(photosType2Size < 2 || Objects.isNull(photosType2.get(1)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AL", "AL"), photosType2.get(1).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AF", "AF"), photosType2.get(1).getPhotoUrl());
pct.append("、互动2:"+DateUtil.formatDateTime(photosType2.get(1).getCreateTime()));
}
// 推广互动照片3 >>>
if (!(photosType2Size < 3 || Objects.isNull(photosType2.get(2)))) {
valuesImageToSheet(String.format(rangFormat, "AM", "AM"), photosType2.get(2).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AG", "AG"), photosType2.get(2).getPhotoUrl());
pct.append("、互动3:"+DateUtil.formatDateTime(photosType2.get(2).getCreateTime()));
}
// 推广互动照片4 >>>
if (!(photosType2Size < 4 || Objects.isNull(photosType2.get(3)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AN", "AN"), photosType2.get(3).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AH", "AH"), photosType2.get(3).getPhotoUrl());
pct.append("、互动4:"+DateUtil.formatDateTime(photosType2.get(3).getCreateTime()));
}
log.info("上传推广-互动照片完成,行号:{}", rowNumStr);
......@@ -303,30 +317,30 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int photosType3Size = photosType3.size();
// 推广成交照片1 >>>
if (!(photosType3Size < 1 || Objects.isNull(photosType3.get(0)))) {
valuesImageToSheet(String.format(rangFormat, "AO", "AO"), photosType3.get(0).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AI", "AI"), photosType3.get(0).getPhotoUrl());
pct.append("、成交1:"+DateUtil.formatDateTime(photosType3.get(0).getCreateTime()));
}
// 推广成交照片2 >>>
if (!(photosType3Size < 2 || Objects.isNull(photosType3.get(1)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AP", "AP"), photosType3.get(1).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AG", "AG"), photosType3.get(1).getPhotoUrl());
pct.append("、成交2:"+DateUtil.formatDateTime(photosType3.get(1).getCreateTime()));
}
// 推广成交照片3 >>>
if (!(photosType3Size < 3 || Objects.isNull(photosType3.get(2)))) {
valuesImageToSheet(String.format(rangFormat, "AQ", "AQ"), photosType3.get(2).getPhotoUrl());
valuesImageToSheet(String.format(rangFormat, "AK", "AK"), photosType3.get(2).getPhotoUrl());
pct.append("、成交3:"+DateUtil.formatDateTime(photosType3.get(2).getCreateTime()));
}
// 推广成交照片4 >>>
if (!(photosType3Size < 4 || Objects.isNull(photosType3.get(3)))) {
valuesImageToSheetByRobot2(String.format(rangFormat, "AR", "AR"), photosType3.get(3).getPhotoUrl());
valuesImageToSheetByRobot2(String.format(rangFormat, "AL", "AL"), photosType3.get(3).getPhotoUrl());
pct.append("、成交4:"+DateUtil.formatDateTime(photosType3.get(3).getCreateTime()));
}
// 推广类照片上传时间
String range =String.format(rangFormat, "AS", "AS");
String range =String.format(rangFormat, "AM", "AM");
updateClockData(range,Arrays.asList(pct.toString()));
log.info("上传推广-成交照片完成,行号:{}", rowNumStr);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论