From 07b344e51076a0307c1ac1be52d59436abb32fbf Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期五, 18 九月 2026 14:14:36 +0800
Subject: [PATCH] 添加了 从芯跃智联 api获取定位数据和电压
---
src/modules/report/service/taskservice.ts | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 51 insertions(+), 1 deletions(-)
diff --git a/src/modules/report/service/taskservice.ts b/src/modules/report/service/taskservice.ts
index 4498ccb..0b9b7be 100644
--- a/src/modules/report/service/taskservice.ts
+++ b/src/modules/report/service/taskservice.ts
@@ -1,10 +1,11 @@
import { Provide, Inject } from '@midwayjs/core';
import { BaseService } from '@cool-midway/core';
import { InjectEntityModel } from '@midwayjs/typeorm';
-import { Repository, In } from 'typeorm';
+import { Repository } from 'typeorm';
import { ReportJoblogEntity } from '../entity/joblog';
import { ExecutorSiteDeptDaily } from './ExecutorSiteDeptDaily'
import { ExecutorVehicleDaily } from './ExecutorVehicleDaily'
+import { ExecutorXinYueVehicleGps } from './ExecutorXinYueVehicleGps'
/**
* 瀹氭椂浠诲姟-姹囨�荤珯鐐�/鍚勪釜鍗曚綅鐨勫悇绫诲瀮鍦炬眹鎬绘暟鎹�
@@ -22,6 +23,9 @@
@Inject()
executorVehicleDaily: ExecutorVehicleDaily;
+
+ @Inject()
+ executorXinYueVehicleGps: ExecutorXinYueVehicleGps;
@@ -44,6 +48,18 @@
return '浠诲姟鎵ц:ReportTaskService';
+ }
+
+ /**
+ * 鑺穬涓夎疆杞﹀畾浣嶏細瀹氭椂鎷夊彇浣嶇疆鍜岀數鍘�
+ * 鍚庡彴浠诲姟绠$悊閰嶇疆锛歳eportTaskService.syncXinYueVehicleGps()
+ * 寤鸿 cron 涓嶅ぇ浜庣郴缁熷弬鏁� xinYue.syncIntervalSeconds锛堥粯璁�300绉掞級锛屼緥濡傛瘡鍒嗛挓锛�0 * * * * *
+ */
+ async syncXinYueVehicleGps() {
+ await this.ensureXinYueGpsJobInstance();
+ await this.executorXinYueVehicleGps.recoverStuckJobs();
+ await this.executorXinYueVehicleGps.execute();
+ return '浠诲姟鎵ц:鑺穬涓夎疆杞﹀畾浣嶅悓姝�';
}
/**
@@ -101,5 +117,39 @@
}
}
+ /**
+ * 鍒濆鍖栧綋澶╃殑鑺穬瀹氫綅鍚屾浠诲姟锛孲UCCESS 娲楀洖 INIT 浠ヤ究鎸夊懆鏈熼噸鎷�
+ */
+ private async ensureXinYueGpsJobInstance() {
+ const now = new Date();
+ const todayStr = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')}`;
+ try {
+ await this.reportJoblogEntity.update(
+ { jobName: 'XY_VEHICLE_GPS' },
+ { jobName: 'XINYUE_VEHICLE_GPS' }
+ );
+ } catch (err) {
+ // 鏂版棫浠诲姟鍚嶅苟瀛樻椂蹇界暐鍞竴绱㈠紩鍐茬獊
+ }
+ try {
+ const exist = await this.reportJoblogEntity.findOneBy({
+ jobName: 'XINYUE_VEHICLE_GPS',
+ dataDate: todayStr,
+ });
+ if (!exist) {
+ const job = new ReportJoblogEntity();
+ job.jobName = 'XINYUE_VEHICLE_GPS';
+ job.dataDate = todayStr;
+ job.status = 'INIT';
+ await this.reportJoblogEntity.save(job);
+ return;
+ }
+ if (exist.status === 'SUCCESS') {
+ await this.reportJoblogEntity.update(exist.id, { status: 'INIT' });
+ }
+ } catch (err) {
+ // 骞跺彂鍐欏叆鏃跺彲鑳借Е鍙戝敮涓�绱㈠紩鍐茬獊锛岀洿鎺ュ拷鐣ュ嵆鍙�
+ }
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1