bfg-common 1.4.299 → 1.4.300

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -62,6 +62,8 @@ watch(
62
62
  ([newValue1, newValue2]: [string, 'never' | 'on']) => {
63
63
  modelFrequencyLocal.value.isValid =
64
64
  newValue2 === 'never' ? false : !!newValue1
65
+
66
+ newValue2 === 'never' && (modelFrequencyLocal.value.frg_end_time = '')
65
67
  }
66
68
  )
67
69
  </script>
@@ -146,25 +146,40 @@ const generateOnceCronExpression = (date: Date): any => {
146
146
  // Генерируем cron-выражение
147
147
  return `${minutes} ${hours} ${day} ${month} ${dayOfWeek} once`
148
148
  }
149
- const generateHourlyCronExpression = (delay: string, date: Date): any => {
149
+ const generateHourlyCronExpression = (
150
+ data: UI_I_ScheduleNewTasksForm
151
+ ): string => {
150
152
  if (!date) return
151
153
 
154
+ const startOnTimestamp = Math.floor(
155
+ new Date(data.frg_start_on_time).getTime() / 1000
156
+ )
157
+ const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
158
+
152
159
  // const minutes = date.getMinutes()
153
160
  // const hours = date.getHours()
154
161
 
155
162
  // Генерируем cron-выражение
156
163
  // return `${minutes} ${hours}/${delay} * * *`
157
- return `0 */${delay} * * *`
164
+ return endTimestamp
165
+ ? `0 */${data.frg_interval} * * * start=${startOnTimestamp},end=${endTimestamp}`
166
+ : `0 */${data.frg_interval} * * * start=${startOnTimestamp}`
158
167
  }
159
- const generateDaylyCronExpression = (delay: string, date: Date): string => {
168
+ const generateDaylyCronExpression = (
169
+ data: UI_I_ScheduleNewTasksForm
170
+ ): string => {
160
171
  if (!date) return
161
172
 
162
- // const minutes = date.getMinutes()
163
- // const hours = date.getHours()
164
- // const day = date.getDate()
173
+ const startOnTimestamp = Math.floor(
174
+ new Date(data.frg_start_on_time).getTime() / 1000
175
+ )
176
+ const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
165
177
 
166
178
  // Генерируем cron-выражение
167
- return `0 0 */${delay} * *`
179
+ return endTimestamp
180
+ ? `0 0 */${data.frg_interval} * * start=${startOnTimestamp},end=${endTimestamp}`
181
+ : `0 0 */${data.frg_interval} * * start=${startOnTimestamp}`
182
+
168
183
  // return `${minutes} ${hours} ${day}/${delay} * *`
169
184
  }
170
185
  const generateWeeklyCronExpression = (
@@ -172,25 +187,39 @@ const generateWeeklyCronExpression = (
172
187
  ): string => {
173
188
  const { frg_on_week_days } = data
174
189
 
175
- // Генерируем cron-выражение
176
- return `* * * * ${frg_on_week_days.join(',')}`
190
+ const startOnTimestamp = Math.floor(
191
+ new Date(data.frg_start_on_time).getTime() / 1000
192
+ )
193
+ const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
194
+
195
+ return endTimestamp
196
+ ? `* * * * ${frg_on_week_days.join(',')}/${
197
+ data.frg_interval
198
+ } start=${startOnTimestamp},end=${endTimestamp}`
199
+ : `* * * * ${frg_on_week_days.join(',')}/${
200
+ data.frg_interval
201
+ } start=${startOnTimestamp}`
177
202
  }
203
+
178
204
  const generateMonthlyCronExpression = (
179
205
  data: UI_I_ScheduleNewTasksForm
180
206
  ): string => {
181
207
  const { frg_interval, frg_monthly_day, frq_week_day, frq_ordinal_number } =
182
208
  data
183
209
 
184
- const startOn = new Date(data.frg_start_on_time)
185
- const end = new Date(data.frg_end_time)
210
+ const startOnTimestamp = Math.floor(
211
+ new Date(data.frg_start_on_time).getTime() / 1000
212
+ )
213
+ const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
186
214
 
187
- console.log(startOn, end)
188
215
  const month = data.frg_monthly_mode === 'week' ? '*' : frg_monthly_day
189
216
  const cronWeekly = `${frq_week_day}#${frq_ordinal_number}`
190
217
  const dayOfWeek = data.frg_monthly_mode === 'week' ? cronWeekly : '*'
191
218
 
192
219
  // Генерируем cron-выражение
193
- return `* * ${month} */${frg_interval} ${dayOfWeek}`
220
+ return endTimestamp
221
+ ? `* * ${month} */${frg_interval} ${dayOfWeek} start=${startOnTimestamp},end=${endTimestamp}`
222
+ : `* * ${month} */${frg_interval} ${dayOfWeek} start=${startOnTimestamp}`
194
223
  }
195
224
 
196
225
  const generateCronExpression = (
@@ -212,18 +241,10 @@ const generateCronExpression = (
212
241
  cronExpression = `0 0 0 0 0 after_procurator_startup${suffixDelay}` // Выполняется после запуска procurator_startup с задержой N минут
213
242
  break
214
243
  case 'hour':
215
- const hourlyDelay = interval.frg_interval
216
- cronExpression = generateHourlyCronExpression(
217
- hourlyDelay,
218
- new Date(interval.frg_start_on_time)
219
- )
244
+ cronExpression = generateHourlyCronExpression(interval)
220
245
  break
221
246
  case 'day':
222
- const dayDelay = interval.frg_interval
223
- cronExpression = generateDaylyCronExpression(
224
- dayDelay,
225
- new Date(interval.frg_start_on_time)
226
- )
247
+ cronExpression = generateDaylyCronExpression(interval)
227
248
  break
228
249
  case 'week':
229
250
  cronExpression = generateWeeklyCronExpression(interval)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.4.299",
4
+ "version": "1.4.300",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",