|
@@ -1749,9 +1749,8 @@ public class DataDashboardService {
|
|
|
List<ProducePlanAuditExport> exportList = new ArrayList<>();
|
|
|
dateStrList = Lists.reverse(dateStrList);
|
|
|
for (String dateStr : dateStrList) {
|
|
|
- String yesterday = DateUtils.getBeforeDaysDateStr(dateStr, "yyyyMMdd", 1);
|
|
|
- List<ProducePlanAuditExport> yesterdayExportList = buildProducePlanAuditExport(yesterday, new ArrayList<>());
|
|
|
- exportList.addAll(buildProducePlanAuditExport(dateStr, yesterdayExportList));
|
|
|
+ Map<String, ProducePlanAuditExport> yesterdayMap = getOldProducePlanAuditExport(dateStr, sheetToken, "28RgAZ");
|
|
|
+ exportList.addAll(buildProducePlanAuditExport(dateStr, yesterdayMap));
|
|
|
}
|
|
|
if (CollectionUtil.isEmpty(exportList)) {
|
|
|
return;
|
|
@@ -1779,8 +1778,42 @@ public class DataDashboardService {
|
|
|
2, null, null);
|
|
|
}
|
|
|
|
|
|
+ private Map<String, ProducePlanAuditExport> getOldProducePlanAuditExport(String dateStr, String sheetToken, String sheetId) {
|
|
|
+ String yesterday = DateUtils.getBeforeDaysDateStr(dateStr, "yyyyMMdd", 1);
|
|
|
+ Pair<String, Integer> token = FeiShu.requestAccessToken();
|
|
|
+ RestTemplate restTemplate = new RestTemplate();
|
|
|
+ HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
+ httpHeaders.add("Authorization", "Bearer " + token.getFirst());
|
|
|
+ HttpEntity<Object> queryEntity = new HttpEntity<>(httpHeaders);
|
|
|
+ ResponseEntity<String> queryResponseEntity = restTemplate.exchange(
|
|
|
+ String.format("https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/%s/values/%s!A"
|
|
|
+ + 2 + ":H" + 51, sheetToken, sheetId),
|
|
|
+ HttpMethod.GET, queryEntity, String.class);
|
|
|
+ JSONArray values = JSON.parseObject(queryResponseEntity.getBody())
|
|
|
+ .getJSONObject("data")
|
|
|
+ .getJSONObject("valueRange")
|
|
|
+ .getJSONArray("values");
|
|
|
+ Map<String, ProducePlanAuditExport> yesterdayMap = new HashMap<>();
|
|
|
+ for (int i = 0; i < values.size(); i++) {
|
|
|
+ JSONArray row = values.getJSONArray(i);
|
|
|
+ if (!yesterday.equals(row.getString(0))) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ ProducePlanAuditExport item = new ProducePlanAuditExport();
|
|
|
+ item.setDateStr(row.getString(0));
|
|
|
+ item.setPlanName(row.getString(1));
|
|
|
+ item.setHisNotAuditCount(row.getInteger(2));
|
|
|
+ item.setProduceCount(row.getInteger(3));
|
|
|
+ item.setAuditCount(row.getInteger(5));
|
|
|
+ item.setAuditPassCount(row.getInteger(6));
|
|
|
+ item.setAuditFailCount(row.getInteger(7));
|
|
|
+ yesterdayMap.put(item.getPlanName(), item);
|
|
|
+ }
|
|
|
+ return yesterdayMap;
|
|
|
+ }
|
|
|
+
|
|
|
private List<ProducePlanAuditExport> buildProducePlanAuditExport(String dateStr,
|
|
|
- List<ProducePlanAuditExport> yesterdayExportList) {
|
|
|
+ Map<String, ProducePlanAuditExport> yesterdayMap) {
|
|
|
Long timeStamp = DateUtils.getStartOfDay(dateStr, "yyyyMMdd") * 1000;
|
|
|
List<String> planIds = Arrays.asList("20240802143345289374071", "20240802171417146947657",
|
|
|
"20240804003153130851174", "20241030070010871546586", "20240802080355355308981",
|
|
@@ -1795,8 +1828,6 @@ public class DataDashboardService {
|
|
|
timeStamp, timeStamp + 86400000, planIds);
|
|
|
Map<String, Integer> producePlanProduceMap = producePlanProduceList.stream()
|
|
|
.collect(Collectors.toMap(ProducePlanAuditCheckDTO::getPlanId, ProducePlanAuditCheckDTO::getNum));
|
|
|
- Map<String, ProducePlanAuditExport> yesterdayMap = yesterdayExportList.stream()
|
|
|
- .collect(Collectors.toMap(ProducePlanAuditExport::getPlanName, o -> o));
|
|
|
List<ProducePlanAuditExport> exportList = new ArrayList<>();
|
|
|
Integer totalAuditNum = 0, totalAuditPassNum = 0, totalWaitingAuditNum = 0, totalAuditFailNum = 0, totalProduceNum = 0;
|
|
|
for (String planId : planIds) {
|