提交 ef02b4da authored 作者: 李秋林's avatar 李秋林

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

上级 5e785c49
...@@ -41,29 +41,39 @@ public class ActivityToFeishuSheet { ...@@ -41,29 +41,39 @@ public class ActivityToFeishuSheet {
*/ */
@PostMapping("/feishu/sheet") @PostMapping("/feishu/sheet")
public void activityList(@RequestBody ActivityVo activityVo) { public void activityList(@RequestBody ActivityVo activityVo) {
//
// /** /**
// * 1>> 查询活动记录 * 1>> 查询活动记录
// * 查询当天的记录 * 查询当天的记录
// */ */
// List<TemporaryActivityReportedDO> reportedDos = promotionActivityService.findActivityList(activityVo); 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); log.info("应上传飞书{}条活动记录",reportedDos.size());
//
// /** if (CollectionUtils.isEmpty(reportedDos)){
// * 2>> 查询打卡记录 log.info("无活动记录,停止上传");
// */ return;
// List<TemporaryActivityClockDO> clockPhoto = promotionActivityService.findClockPhoto(activityVo); }
// Map<String, List<TemporaryActivityPhotoDO>> clockPhotoMap = new HashMap<>();
// clockPhoto.stream().forEach(cp -> { List<Long> activityIds = reportedDos.stream().map(TemporaryActivityReportedDO::getId).collect(Collectors.toList());
// clockPhotoMap.put(cp.getTemporaryId() + "-" + cp.getCreateDate(), cp.getPhotoList());
// }); Map<Long, List<TemporaryActivityPhotoDO>> activityPhotos = promotionActivityService.findActivityPhotos(activityIds);
// Map<Long, TemporaryActivityClockDO> clockMap = promotionActivityService.findClockInfoByActivityIds(activityIds);
// log.info("============== 活动记录上传飞书 start(" + System.currentTimeMillis() + ") ==============");
// /**
// activityToFeishuSheetService.activityDataToFeishuSheet(reportedDos,activityPhotos,clockPhotoMap); * 2>> 查询打卡图片
// */
// log.info("============== 活动记录上传飞书 end(" + System.currentTimeMillis() + ") =============="); 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") @GetMapping("/feishu/yesterday_sheet")
......
...@@ -147,30 +147,44 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe ...@@ -147,30 +147,44 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
return; return;
} }
String rangFormat = sheetInfoD.getSheetId() + "!%s" + rowNumStr + ":%s" + rowNumStr; String rangFormat = sheetInfoD.getSheetId() + "!%s" + rowNumStr + ":%s" + rowNumStr;
// T-AB: 上班打卡时间/地点 午休下班打卡时间/地点 午休上班打卡时间/地点 下班打卡时间/地点 // T-AB: 上班打卡时间/地点 午休下班打卡时间/地点 午休上班打卡时间/地点 下班打卡时间/地点
if (Objects.nonNull(clockDo)){ if (Objects.nonNull(clockDo)) {
List<Object> rowClockData = new ArrayList<>(); 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 tl = DateUtil.between(clockDo.getClockInTime(), clockDo.getClockOutTime(), DateUnit.MINUTE);
long hour = tl / 60; long hour = tl / 60;
long minute = tl % 60; long minute = tl % 60;
rowClockData.add(hour + "." + minute); rowClockData.add(hour + "." + minute);
}else { } else {
rowClockData.add("0"); rowClockData.add("0");
} }
rowClockData.add(DateUtil.formatDateTime(clockDo.getClockInTime())); // 打卡时间
rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockOutTime())); StringBuilder timeSb = new StringBuilder("(上班卡)");
rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockInTime())); timeSb.append(DateUtil.formatDateTime(clockDo.getClockInTime())).append("、(午休下班卡)")
rowClockData.add(DateUtil.formatDateTime(clockDo.getClockOutTime())); .append(DateUtil.formatDateTime(clockDo.getNoonClockOutTime())).append("、(午休上班卡)")
rowClockData.add(clockDo.getClockInAddress()); .append(DateUtil.formatDateTime(clockDo.getNoonClockInTime())).append("、(下班卡)")
rowClockData.add(clockDo.getNoonClockOutAddress()); .append(DateUtil.formatDateTime(clockDo.getClockOutTime()));
rowClockData.add(clockDo.getNoonClockInAddress()); // rowClockData.add(DateUtil.formatDateTime(clockDo.getClockInTime()));
rowClockData.add(clockDo.getClockOutAddress()); // rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockOutTime()));
String range =String.format(rangFormat, "T", "AB"); // rowClockData.add(DateUtil.formatDateTime(clockDo.getNoonClockInTime()));
updateClockData(range,rowClockData); // 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 ...@@ -216,22 +230,22 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
Map<Integer, String> clockMap = activityClock.stream().collect(Collectors.toMap(TemporaryActivityPhotoDO::getType, TemporaryActivityPhotoDO::getPhotoUrl)); Map<Integer, String> clockMap = activityClock.stream().collect(Collectors.toMap(TemporaryActivityPhotoDO::getType, TemporaryActivityPhotoDO::getPhotoUrl));
// 上班打卡照片 >>> // 上班打卡照片 >>>
if (clockMap.containsKey(4)) { 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)) { 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)) { 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)) { 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); log.info("上传打卡照片完成,行号:{}", rowNumStr);
...@@ -243,25 +257,25 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe ...@@ -243,25 +257,25 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int photosType1Size = photosType1.size(); int photosType1Size = photosType1.size();
// 推广试吃照片1 >>> // 推广试吃照片1 >>>
if (!(photosType1Size < 1 || Objects.isNull(photosType1.get(0)))) { 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())); pct.append("试吃1:"+DateUtil.formatDateTime(photosType1.get(0).getCreateTime()));
} }
// 推广试吃照片2 >>> // 推广试吃照片2 >>>
if (!(photosType1Size < 2 || Objects.isNull(photosType1.get(1)))) { 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())); pct.append("、试吃2:"+DateUtil.formatDateTime(photosType1.get(1).getCreateTime()));
} }
// 推广试吃照片3 >>> // 推广试吃照片3 >>>
if (!(photosType1Size < 3 || Objects.isNull(photosType1.get(2)))) { 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())); pct.append("、试吃3:"+DateUtil.formatDateTime(photosType1.get(2).getCreateTime()));
} }
// 推广试吃照片4 >>> // 推广试吃照片4 >>>
if (!(photosType1Size < 4 || Objects.isNull(photosType1.get(3)))) { 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())); pct.append("、试吃4:"+DateUtil.formatDateTime(photosType1.get(3).getCreateTime()));
} }
log.info("上传推广-试吃照片完成,行号:{}", rowNumStr); log.info("上传推广-试吃照片完成,行号:{}", rowNumStr);
...@@ -273,25 +287,25 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe ...@@ -273,25 +287,25 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int photosType2Size = photosType2.size(); int photosType2Size = photosType2.size();
// 推广互动照片1 >>> // 推广互动照片1 >>>
if (!(photosType2Size < 1 || Objects.isNull(photosType2.get(0)))) { 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())); pct.append("、互动1:"+DateUtil.formatDateTime(photosType2.get(0).getCreateTime()));
} }
// 推广互动照片2 >>> // 推广互动照片2 >>>
if (!(photosType2Size < 2 || Objects.isNull(photosType2.get(1)))) { 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())); pct.append("、互动2:"+DateUtil.formatDateTime(photosType2.get(1).getCreateTime()));
} }
// 推广互动照片3 >>> // 推广互动照片3 >>>
if (!(photosType2Size < 3 || Objects.isNull(photosType2.get(2)))) { 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())); pct.append("、互动3:"+DateUtil.formatDateTime(photosType2.get(2).getCreateTime()));
} }
// 推广互动照片4 >>> // 推广互动照片4 >>>
if (!(photosType2Size < 4 || Objects.isNull(photosType2.get(3)))) { 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())); pct.append("、互动4:"+DateUtil.formatDateTime(photosType2.get(3).getCreateTime()));
} }
log.info("上传推广-互动照片完成,行号:{}", rowNumStr); log.info("上传推广-互动照片完成,行号:{}", rowNumStr);
...@@ -303,30 +317,30 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe ...@@ -303,30 +317,30 @@ public class ActivityToFeishuSheetServiceImpl implements ActivityToFeishuSheetSe
int photosType3Size = photosType3.size(); int photosType3Size = photosType3.size();
// 推广成交照片1 >>> // 推广成交照片1 >>>
if (!(photosType3Size < 1 || Objects.isNull(photosType3.get(0)))) { 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())); pct.append("、成交1:"+DateUtil.formatDateTime(photosType3.get(0).getCreateTime()));
} }
// 推广成交照片2 >>> // 推广成交照片2 >>>
if (!(photosType3Size < 2 || Objects.isNull(photosType3.get(1)))) { 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())); pct.append("、成交2:"+DateUtil.formatDateTime(photosType3.get(1).getCreateTime()));
} }
// 推广成交照片3 >>> // 推广成交照片3 >>>
if (!(photosType3Size < 3 || Objects.isNull(photosType3.get(2)))) { 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())); pct.append("、成交3:"+DateUtil.formatDateTime(photosType3.get(2).getCreateTime()));
} }
// 推广成交照片4 >>> // 推广成交照片4 >>>
if (!(photosType3Size < 4 || Objects.isNull(photosType3.get(3)))) { 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())); 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())); updateClockData(range,Arrays.asList(pct.toString()));
log.info("上传推广-成交照片完成,行号:{}", rowNumStr); log.info("上传推广-成交照片完成,行号:{}", rowNumStr);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论