CopyController.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987
  1. <?php
  2. namespace app\commands;
  3. use app\models\Descarga;
  4. use yii\console\Controller;
  5. use yii\db\Expression;
  6. use yii\db\Query;
  7. class CopyController extends Controller {
  8. public $ciudades = [
  9. "03LDf61X" => [
  10. "SPCH96_9",
  11. "SPCH105_9",
  12. "SPCH94_1",
  13. "SPCH105_1",
  14. "PUE94_9",
  15. "SPCH98_7",
  16. "SPCH91_7",
  17. "PUE103_3",
  18. "SPCH90_1",
  19. "SPCH102_1",
  20. "SPCH92_5",
  21. ],
  22. "07TNqt6A" => [
  23. "MCVA94_7",
  24. "MCVA103_1",
  25. "MCVA99_5",
  26. "MCVA97_1",
  27. "MCVA91_1",
  28. "MCVA104_9",
  29. "MCVA101_1",
  30. "MCVA100_3",
  31. "MCVA98_7",
  32. "MCVA96_3",
  33. "MCVA107_1",
  34. "MCVA104_1",
  35. ],
  36. "13MLZC8S" => [
  37. "TV_CDMX_3_1",
  38. "TV_CDMX_1_1",
  39. "TV_CDMX_5_1",
  40. "TV_CDMX_7_1",
  41. "TV_CDMX_40_1",
  42. "TV_CDMX_4_1",
  43. "TV_CDMX_8_1",
  44. "TV_CDMX_4_1",
  45. ],
  46. "1wwBGsDq" => [
  47. "TV_GDL_17_1",
  48. "TV_GDL_44_1",
  49. ],
  50. "4IpjbpDO" => [
  51. "CHI90_1",
  52. "CHI92_5",
  53. "CHI97_3",
  54. "CHI105_3",
  55. "CHI106_1",
  56. "CHI102_5",
  57. ],
  58. "5i6lpw3D" => [
  59. "TV_XAL_8_1",
  60. "TV_XAL_26_1",
  61. "TV_XAL_5_1",
  62. "TV_XAL_9_1",
  63. ],
  64. "5T8btSQM" => [
  65. "CUE90_3",
  66. "CUE93_3",
  67. "CUE94_9",
  68. "CUE95_7",
  69. "CUE96_5",
  70. "CUE97_3",
  71. "CUE98_1",
  72. "CUE99_1",
  73. "CUE100_1",
  74. "CUE102_9",
  75. "CUE106_1",
  76. "CUE106_9",
  77. "CUE107_7",
  78. ],
  79. "6qIpZjMR" => [
  80. "TV_TUX_1_1",
  81. "TV_TUX_10_1",
  82. "TV_TUX_2_1",
  83. "TV_TUX_7_1",
  84. ],
  85. "7YDLvHnY" => [
  86. "URU100_5",
  87. "URU101_3",
  88. "URU102_1",
  89. "URU89_7",
  90. "URU91_1",
  91. "URU93_7",
  92. "URU99_7",
  93. ],
  94. "8Duwg4qe" => [
  95. "SNG95_7",
  96. "SNG92_5",
  97. "SNG94_9",
  98. "SNG90_5",
  99. "SNG91_7",
  100. ],
  101. "9CkyTkDk" => [
  102. "TV_COL_2_1",
  103. "TV_COL_5_1",
  104. "TV_COL_7_1",
  105. "TV_COL_3_1",
  106. ],
  107. "9NBfrirA" => [
  108. "TV_TEP_7_1",
  109. "TV_TEP_5_1",
  110. "TV_TEP_10_1",
  111. ],
  112. "9R9SiR7p" => [
  113. "MAT97_7",
  114. "MAT_91_3",
  115. ],
  116. "9TJwI7aV" => [
  117. "TV_CDMX_22_1",
  118. "TV_CDMX_14_2",
  119. "TV_CDMX_6_2",
  120. "TV_CDMX_6_3",
  121. ],
  122. "B3inty0" => [
  123. "QUE91_7",
  124. "QUE98_7",
  125. "QUE104_9",
  126. "QUE95_5",
  127. "QUE94_7",
  128. "QUE107_9",
  129. "QUE100_3",
  130. "QUE100_3",
  131. ],
  132. "Br0k3yZx" => [
  133. "101_1_GDL",
  134. "95_5_GDL",
  135. ],
  136. "ca1qqivn" => [
  137. "TV_LEON_3_1",
  138. "TV_LEON_5_1",
  139. "TV_LEO_6_1",
  140. "TV_LEO_2_1",
  141. ],
  142. "CqKnAoz2" => [
  143. "TV_VER_2_1",
  144. "TV_VER_12_1",
  145. ],
  146. "cXZamnSk" => [
  147. "TV_MOR_13_1",
  148. "TV_MOR_3_1",
  149. "TV_MOR_7_1",
  150. "TV_MOR_14_1",
  151. "TV_MOR_5_1",
  152. ],
  153. "D4nytzP" => [
  154. "AGU106_9",
  155. "AGU95_7",
  156. "AGU93_7",
  157. "AGU100_1",
  158. "AGU88_7",
  159. "AGU100_9",
  160. "AGU102_9",
  161. "AGU98_1",
  162. "AGU91_3",
  163. "AGU92_7",
  164. "AGU94_5",
  165. "AGU90_5",
  166. "AGU105_3",
  167. "AGU107_7",
  168. ],
  169. "denPJ1FV" => [
  170. "ODJ89_7",
  171. "ODJ93_7",
  172. "ODJ94_9",
  173. "ODJ95_7",
  174. "ODJ96_9",
  175. "ODJ97_7",
  176. "ODJ100_1",
  177. "ODJ101_7",
  178. "ODJ105_7",
  179. "ODJ100_9",
  180. ],
  181. "DIW67ZVD" => [
  182. "TUX98_5",
  183. "TUX96_9",
  184. "TUX105_9",
  185. "TUX93_1",
  186. "TUX88_3",
  187. "TUX90_3",
  188. "TUX93_9",
  189. "TUX96_1",
  190. "TUX103_5",
  191. "TUX102_5",
  192. "TUX100_1",
  193. "TUX101_7",
  194. ],
  195. "dvRKE2Q-" => [
  196. "TLA96_5",
  197. "TLA99_5",
  198. "TLA100_3",
  199. ],
  200. "eFopFzT1" => [
  201. "TV_VIC_7_1",
  202. "TV_VIC_3_1",
  203. "TV_VIC_2_1",
  204. "TV_VIC_5_1",
  205. ],
  206. "eLJmNJ5gG1H" => [
  207. "102_7HMO",
  208. "97_1HMO",
  209. "101_1HMO",
  210. "107_5HMO",
  211. "97_1HMO",
  212. ],
  213. "enOjw_tZ" => [
  214. "TV_MCVA_1_1",
  215. "TV_MCVA_7_1",
  216. "TV_MCVA_2_1",
  217. "TV_MCVA_5_1",
  218. ],
  219. "FTiguGXr" => [
  220. "TOL93_3",
  221. "TOL90_1",
  222. "TOL91_7",
  223. "TOL98_9",
  224. "TOL102_1",
  225. "TOL99_7",
  226. "TOL101_3",
  227. ],
  228. "Ga6wUhMb" => [
  229. "TV_TOR_5_1",
  230. "TV_TOR_1_1",
  231. "TV_TOR_7_1",
  232. "TV_TOR_2_1",
  233. ],
  234. "gFlzFvnx" => [
  235. "TV_QUE_5_1",
  236. "TV_QUE_3_1",
  237. "TV_QUE_11_1",
  238. "TV_QUE_9_1",
  239. ],
  240. "GSIU4U2m" => [
  241. "LEON107_1",
  242. "LEON95_5",
  243. "LEON101_1",
  244. "LEON98_3",
  245. "LEON104_1",
  246. "LEON90_3",
  247. "LEON92_3",
  248. "LEON93_9",
  249. "LEON99_9",
  250. ],
  251. "GwCBvAxo" => [
  252. "TV_CAN_2_1",
  253. "TV_CAN_5_1",
  254. ],
  255. "h0E6IAeR" => [
  256. "DUR101_3",
  257. "DUR95_7",
  258. "DUR98_9",
  259. "DUR105_3",
  260. "DUR100_5",
  261. "DUR102_9",
  262. "DUR94_1",
  263. "DUR92_9",
  264. ],
  265. "h4QN6Pde" => [
  266. "TV_REY_7_1",
  267. "TV_REY_1_2",
  268. "TV_REY_1_1",
  269. "TV_REY_6_2",
  270. ],
  271. "IHxtMrao" => [
  272. "TV_PUE_3_1",
  273. "TV_PUE_4_1",
  274. "TV_PUE_26_1",
  275. "TV_PUE_1_1",
  276. "TV_PUE_14_1",
  277. ],
  278. "IJlxRs9K" => [
  279. "TEP96_1",
  280. "TEP98_5",
  281. "TEP97_7",
  282. "TEP101_9",
  283. "TEP95_3",
  284. "TEP93_7",
  285. "TEP101_1",
  286. "TEP92_1",
  287. "TEP104_9",
  288. ],
  289. "iqIRfGOb" => [
  290. "88_9HMO",
  291. "91_5HMO",
  292. ],
  293. "irztrhmN" => [
  294. "REY101_5",
  295. "REY102_5",
  296. "REY95_3",
  297. ],
  298. "JAMI2CKo" => [
  299. "JUA103_5",
  300. "JUA100_7",
  301. "JUA105_1",
  302. "JUA107_5",
  303. "JUA104_3",
  304. "JUA106_7",
  305. ],
  306. "jElsmiSu" => [
  307. "TV_2_1_SON_HMO_AIR",
  308. "TV_9_1_SON_HMO_AIR",
  309. "TV_5_1_SON_HMO_AIR",
  310. ],
  311. "jLMtcEIk" => [
  312. "TV_CUL_2_1",
  313. "TV_CUL_1_1",
  314. "TV_ACA_7_1",
  315. "TV_ACA_9_1",
  316. "TV_ACA_5_1",
  317. "TV_ACA_2_1",
  318. "TV_CUL_5_1",
  319. "TV_CUL_11_1",
  320. ],
  321. "jujYqh0S" => [
  322. "MER105_9",
  323. "MER97_7",
  324. "MER95_3",
  325. "MER90_9",
  326. "MER98_5",
  327. "MER103_1",
  328. "MER103_9",
  329. "MER94_5",
  330. "MER105_1",
  331. "MER105_9",
  332. ],
  333. "jYnLHGxp" => [
  334. "TV_TIJ_12_1",
  335. "TV_TIJ_3_1",
  336. "TV_TIJ_21_1",
  337. "TV_TIJ_33_1",
  338. ],
  339. "Jz6LdVsk" => [
  340. "PCH98_1",
  341. "PCH95_7",
  342. "PCH106_1",
  343. "PCH92_5",
  344. "PCH104_5",
  345. "PCH99_7",
  346. ],
  347. "k1bOV7pD" => [
  348. "TV_CUE_1_1",
  349. "TV_CUE_9_1",
  350. "TV_CUE_11_1",
  351. ],
  352. "KFB8tKff" => [
  353. "TV_MEX_1_1",
  354. "TV_MEX_2_1",
  355. "TV_MEX_10_1",
  356. "TV_MEX_5_1",
  357. ],
  358. "KNbHfLHQ" => [
  359. "TV_MTY_5_1",
  360. "TV_MTY_8_1",
  361. "TV_SNG_2_1",
  362. "TV_MON_7_1"
  363. ],
  364. "kQw04CrV" => [
  365. "TV_CDMX_2_1",
  366. "TV_CDMX_34_1",
  367. "TV_CDMX_9_1",
  368. "TV_CDMX_45_1",
  369. ],
  370. "Lq2GWUH6" => [
  371. "MOR105_1",
  372. "MOR100_9",
  373. "MOR93_1",
  374. "MOR103_1",
  375. "MOR91_5",
  376. "MOR97_3",
  377. "MOR98_1",
  378. "MOR101_7",
  379. "MOR106_9",
  380. "MOR102_5",
  381. "MOR104_3",
  382. ],
  383. "Lq50GGwP" => [
  384. "VIC99_3",
  385. "VIC95_3",
  386. "VIC96_1",
  387. "VIC102_5",
  388. "VIC107_9",
  389. "VIC101_7",
  390. ],
  391. "LTAUmjc4" => [
  392. "TV_15_1_SON_HMO_AIR",
  393. "TV_12_1_SON_HMO_AIR",
  394. "TV_.7_1_SON_HMO_AIR",
  395. "TV_1_1_SON_HMO_AIR",
  396. ],
  397. "mGeawnyY" => [
  398. "LPZ99_1",
  399. "LPZ92_7",
  400. "LPZ105_5",
  401. "LPZ97_5",
  402. "LPZ98_3",
  403. "LPZ95_9",
  404. "LPZ96_7",
  405. "LPZ100_7",
  406. ],
  407. "MKQ1k5co" => [
  408. "TV_LPZ_1_2",
  409. "TV_LPZ_5_1",
  410. "TV_LPZ_2_1",
  411. "TV_LPZ_7_1",
  412. ],
  413. "mNMrXYUB" => [
  414. "ACA92_1",
  415. "ACA102_3",
  416. "ACA105_5",
  417. "ACA103_1",
  418. "ACA101_5",
  419. "ACA95_3",
  420. "ACA89_7",
  421. "ACA99_3",
  422. "ACA94_5",
  423. "ACA93_7",
  424. "ACA100_1",
  425. ],
  426. "MUiVNylI" => [
  427. "TV_TOL_1_1",
  428. "TV_TOL_3_1",
  429. "TV_TOL_7_1",
  430. ],
  431. "nAFZnAYr" => [
  432. "CUL91_9",
  433. "CUL104_1",
  434. "CUL92_9",
  435. "CUL101_7",
  436. "CUL88_7",
  437. "CUL94_5",
  438. "CUL95_3",
  439. "CUL103_3",
  440. "CUL96_9",
  441. "CUL102_5",
  442. ],
  443. "NPxBYVb4" => [
  444. "TV_CHI_1_3",
  445. "TV_CHI_2_1",
  446. "TV_CHI_3_1",
  447. ],
  448. "Ns47mTar" => [
  449. "TV_PCH_3_1",
  450. "TV_PCH_12_1",
  451. "TV_PCH_7_1",
  452. ],
  453. "opNQYeRG" => [
  454. "TV_AGU_5_1",
  455. "TV_AGU_9_1",
  456. "TV_AGU_1_1",
  457. "TV_AGU_7_1",
  458. ],
  459. "OWCiV9M9" => [
  460. "MEX_CDMX_93_7",
  461. "MEX_CDMX_89_7",
  462. "MEX_CDMX_92_9",
  463. "MEX_CDMX_103_3",
  464. "MEX_CDMX_96_9",
  465. "CDMX101_7",
  466. "MEX_CDMX_92_1",
  467. "MEX_CDMX_88_9",
  468. "MEX_CDMX_95_3",
  469. "MEX_CDMX_94_1",
  470. ],
  471. "P5tpQ9Fv" => [
  472. "SLP102_1",
  473. "SLP95_3",
  474. "SLP96_9",
  475. "SLP94_1",
  476. "SLP99_3",
  477. "SLP88_5",
  478. ],
  479. "pcOFIelT" => [
  480. "XAL104_9",
  481. "XAL97_7",
  482. "XAL91_7",
  483. "XAL95_5",
  484. "XAL98_5",
  485. "XAL107_7",
  486. ],
  487. "pOl60TJD" => [
  488. "BEN102_7",
  489. "BEN92_3",
  490. "BEN101_9",
  491. "BEN99_3",
  492. "BEN105_9",
  493. "BEN105_1",
  494. "BEN90_7",
  495. "BEN104_3",
  496. "BEN93_1",
  497. ],
  498. "R0p3Ngr" => [
  499. "TIJ91_1",
  500. "TIJ94_5",
  501. "TIJ107_3",
  502. "TIJ95_3",
  503. "TIJ88_7",
  504. "TIJ90_3",
  505. "TIJ104_9",
  506. "TIJ98_9",
  507. "TIJ99_3",
  508. "TIJ105_7",
  509. "TIJ92_5",
  510. "TIJ107_7",
  511. "TIJ90_7",
  512. "TIJ99_7",
  513. ],
  514. "Reickz4Z" => [
  515. "VER_106_1",
  516. "VER_94_1",
  517. "VER_90_1",
  518. "VER_99_7",
  519. "VER_102_9",
  520. "VER_98_1",
  521. ],
  522. "RonDKfBH" => [
  523. "TV_JUA_2_1",
  524. "TV_JUA_20_1",
  525. "TV_JUA_44_1",
  526. "TV_JUA_5_1",
  527. ],
  528. "rt-MOm8-" => [
  529. "107_3_MEX",
  530. "MEX_CDMX_94_5",
  531. "MEX_CDMX_100_9",
  532. "105_3_MEX",
  533. "MEX_CDMX_90_5",
  534. "MEX_CDMX_96_1",
  535. "MEX_CDMX_104_1",
  536. "MEX_CDMX_98_5",
  537. ],
  538. "S1eMpr3" => [
  539. "CEN88_5",
  540. "CEN98_3",
  541. "CEN89_3",
  542. "CEN104_9",
  543. "CEN106_3",
  544. "CEN90_1",
  545. "CEN95_7",
  546. "CEN92_5",
  547. "CEN_94_9",
  548. "CEN107_3",
  549. "CEN97_3",
  550. "CEN103_3",
  551. "CEN104_1",
  552. ],
  553. "s3c6lpcx" => [
  554. "TV_MER_1_1",
  555. "TV_MER_5_1",
  556. "TV_MER_2_1",
  557. ],
  558. "S3IiFs1W" => [
  559. "TV_DUR_1_1",
  560. "TV_DUR_2_1",
  561. "TV_DUR_7_1",
  562. "TV_DUR_5_1",
  563. ],
  564. "sr0SzB2n" => [
  565. "TV_PDN_1_1",
  566. "TV_PDN_5_1",
  567. "TV_PDN_9_1",
  568. "TV_PDN_2_1",
  569. ],
  570. "TEFCS0Ix" => [
  571. "COL89_3",
  572. "COL90_5",
  573. "COL98_9",
  574. "COL98_1",
  575. "COL104_5",
  576. "COL94_9",
  577. "COL92_5",
  578. ],
  579. "TJITznDM" => [
  580. "MAZ91_3",
  581. "MAZ104_3",
  582. "MAZ88_9",
  583. ],
  584. "tKykZpfA" => [
  585. "COA93_1",
  586. "COA98_5",
  587. "COA103_5",
  588. "COA100_1",
  589. ],
  590. "Tpz5vBCW" => [
  591. "TV_TAB_46_1",
  592. "TV_TAB_13_1",
  593. "TV_TAB_35_1",
  594. "TV_TAB_1_1",
  595. "TV_TAB_7_1",
  596. "TV_TAB_2_1",
  597. ],
  598. "tQ-bDD6u" => [
  599. "TV_SAL_9_1",
  600. "TV_SAL_3_1",
  601. "TV_SAL_7_1",
  602. ],
  603. "Tri3mym9" => [
  604. "PDN101_7",
  605. "PDN103_7",
  606. "PDN96_7",
  607. "PDN97_9",
  608. "PDN107_9",
  609. "PDN106_3",
  610. "PDN105_5",
  611. "PDN99_9",
  612. "PDN99_1",
  613. "PDN94_5",
  614. "PDN104_3",
  615. ],
  616. "tu84G13a" => [
  617. "TOR93_1",
  618. "TOR100_3",
  619. "TOR97_9",
  620. "TOR95_5",
  621. ],
  622. "TzDF7cq7" => [
  623. "TV_MAZ_3_1",
  624. "TV_MAZ_7_1",
  625. "TV_MAZ_1_1",
  626. "TV_MAZ_5_1",
  627. ],
  628. "u1JB9Dmw" => [
  629. "MEX104_1",
  630. "MEX105_5",
  631. "MEX91_5",
  632. "MEX104_9",
  633. "MEX92_3",
  634. "MEX90_7",
  635. "MEX96_9",
  636. "MEX101_9",
  637. "MEX105_9",
  638. "MEX103_3",
  639. "MEX98_3",
  640. ],
  641. "uHVcwWWD" => [
  642. "IRA98_9",
  643. "IRA88_5",
  644. "IRA102_7",
  645. "IRA106_3",
  646. "IRA94_3",
  647. "IRA95_1",
  648. "IRA93_5",
  649. "IRA107_9",
  650. "IRA91_9",
  651. ],
  652. "uovj5aMC" => [
  653. "TV_MON_4_1",
  654. "TV_MON_6_1",
  655. "TV_MON_3_1",
  656. "TV_MON_28_1",
  657. ],
  658. "UP4itzbr" => [
  659. "MEX_CDMX_90_9",
  660. ],
  661. "V50Aia9U" => [
  662. "NLR95_7",
  663. "NLR90_9",
  664. "NLR91_3",
  665. "NLR96_1",
  666. "NLR97_1",
  667. "NLR99_3",
  668. "NLR101_5",
  669. "NLR102_3",
  670. "NLR107_3",
  671. ],
  672. "V6QOaSZ5" => [
  673. "TV_MAT_9_1",
  674. "TV_MAT_8_1",
  675. "TV_MAT_1_1",
  676. "TV_MAT_2_1",
  677. ],
  678. "VhTifIvKH8" => [
  679. "93_9HMO",
  680. "99_5HMO",
  681. "100_3HMO",
  682. "94_7HMO",
  683. ],
  684. "vNFU8lIw" => [
  685. "TV_SLP_3_1",
  686. "TV_SAN LUIS POTOSI_5_1",
  687. ],
  688. "w1Enz_y0" => [
  689. "TV_OAX_2_1",
  690. "TV_OAX_4_1",
  691. "TV_OAX_3_1",
  692. "TV_OAX_7_1",
  693. ],
  694. "wDbc0Qll" => [
  695. "TV_COA_1_1",
  696. "TV_COA_2_1",
  697. "TV_COA_3_1",
  698. "TV_COA_5_1",
  699. ],
  700. "x8g8AZF0" => [
  701. "MEX_CDMX_104_1",
  702. "MEX_CDMX_97_7",
  703. "MEX_CDMX_106_1",
  704. "MEX_CDMX_91_3",
  705. "MEX_CDMX_100_1",
  706. "MEX_CDMX_102_5",
  707. "MEX_CDMX_105_7",
  708. "MEX_CDMX_99_3",
  709. "MEX_CDMX_88_15",
  710. "MEX_CDMX_106_1",
  711. "MEX_CDMX_107_9",
  712. "MEX_CDMX_95_7",
  713. ],
  714. "YCe8v6ZH" => [
  715. "SAL88_9",
  716. "SAL91_3",
  717. "SAL104_9",
  718. "SAL93_5",
  719. "SAL99_3",
  720. ],
  721. "Yj1DLiHM" => [
  722. "TV_TIJ_6_1",
  723. "TV_TIJ_45_1",
  724. "TV_TIJ_1_1",
  725. "TV_TIJ_19_1",
  726. ],
  727. "ZXDiy5og" => [
  728. "94_1_MTY",
  729. "101_3_MTY",
  730. "106_1_MTY",
  731. "102_9_MTY",
  732. "107_7_MTY",
  733. "106_9_MTY",
  734. "97_3_MTY",
  735. "SNG102_1",
  736. "MTY93_3",
  737. "SNJ98_1",
  738. ],
  739. "S-_RzKm2" => [
  740. "TV_GDL_3_1",
  741. "TV_GDL_2_1"
  742. ],
  743. "g23wXKER" => [
  744. "101_9_GDL",
  745. "97_1_GDL",
  746. "102_7_GDL",
  747. "96_3_GDL",
  748. "100_3_GDL",
  749. "98_7_GDL",
  750. "105_1_GDL",
  751. "93_9_GDL",
  752. "107_5_GDL"
  753. ],
  754. "8Duwg4qe" => [
  755. "106_1_MTY",
  756. "106_9_MTY",
  757. ],
  758. "mZOHHxIN" => [
  759. "AM_AGU_AGU_1130",
  760. "AM_DUR_DUR_1370",
  761. "AM_TAM_MAT_1420",
  762. "AM_NL_MON_770",
  763. "AM_NL_MON_1090",
  764. "AM_NL_MON_1190",
  765. "AM_NL_MON_630",
  766. "AM_NL_MON_660",
  767. "AM_NL_MON_540",
  768. "AM_HID_PAC_1240",
  769. "AM_TAM_REY_1170",
  770. "AM_NL_NGG_600",
  771. "AM_NL_NGG_690",
  772. "AM_NL_NGG_1480",
  773. "AM_PUE_SPCH_1170",
  774. "AM_PUE_SPCH_1120",
  775. "AM_PUE_SPCH_1210",
  776. "AM_PUE_SPCH_920",
  777. "AM_PUE_SPCH_1250",
  778. "AM_TLA_TLA_1430"
  779. ],
  780. "T9ng0M4J" => [
  781. "AM_CDMX_1470",
  782. "AM_CDMX_1410",
  783. "AM_CDMX_1380",
  784. "AM_CDMX_660",
  785. "AM_CDMX_1000",
  786. "AM_CDMX_940",
  787. "AM_CDMX_970",
  788. "AM_CDMX_1530",
  789. "AM_CDMX_900",
  790. "AM_CDMX_730",
  791. "AM_CDMX_1180",
  792. "AM_CDMX_710",
  793. "AM_CDMX_620",
  794. "AM_CDMX_590",
  795. "AM_CDMX_1350",
  796. "AM_CDMX_540",
  797. "AM_CDMX_560",
  798. "AM_CDMX_860",
  799. "AM_CDMX_1150"
  800. ],
  801. "lWMy70IH" => [
  802. "AM_CDMX_1220",
  803. "AM_CDMX_1260",
  804. "AM_CDMX_1590",
  805. "AM_CDMX_1650",
  806. "AM_CDMX_830",
  807. "AM_CDMX_690",
  808. "AM_CDMX_760",
  809. "AM_CDMX_1030",
  810. "AM_CDMX_1440",
  811. "AM_JAL_GUA_1150",
  812. "AM_JAL_GUA_820",
  813. "AM_JAL_GUA_1280",
  814. "AM_JAL_GUA_1250",
  815. "AM_JAL_GUA_700",
  816. "AM_JAL_GUA_790",
  817. "AM_JAL_GUA_1190",
  818. "AM_OAX_OAX_990",
  819. "AM_OAX_OAX_570",
  820. "AM_MEX_TOL_1040",
  821. "AM_MEX_TOL_1600",
  822. ],
  823. "5m24geWA" => [
  824. "AM_SIN_CUL_750",
  825. "AM_SIN_CUL_1150",
  826. "AM_CHI_JUA_1490",
  827. "AM_CHI_JUA_1000",
  828. "AM_CHI_JUA_640",
  829. "AM_CHI_JUA_1300",
  830. "AM_CHI_JUA_800",
  831. "AM_CHI_JUA_1240",
  832. "AM_CHI_JUA_860",
  833. "AM_BCS_PAZ_1180",
  834. ]
  835. ];
  836. public $ciudad = null;
  837. public $estacion = null;
  838. public $fi = null;
  839. public $ff = null;
  840. public function options($actionId) {
  841. return [
  842. 'ciudad',
  843. 'estacion',
  844. 'fi',
  845. 'ff'
  846. ];
  847. }
  848. public function actionIndex() {
  849. $db = \Yii::$app->dbw;
  850. while(true) {
  851. $archivos = (new Query())
  852. ->from("file")
  853. ->innerJoin("box", "box.id = file.box")
  854. ->andWhere(["between", "[[timestamp]] at time zone box.timezone", '2021-12-25 08:40:00', '2021-12-26 00:00:00']) // new Expression("now() - interval '2 days'")])
  855. ->orderBy(["timestamp" => SORT_ASC]);
  856. $condicion = ["OR"];
  857. foreach($this->ciudades as $ciudad => $estaciones) {
  858. $condicion[] = ["AND", ["box" => $ciudad], ["station" => $estaciones]];
  859. }
  860. $archivos->andWhere($condicion);
  861. // $this->stdout($archivos->createCommand()->getRawSql() . "\n");
  862. foreach($archivos->each(100, $db) as $archivo) {
  863. try {
  864. \Yii::$app->getDb()->createCommand()
  865. ->insert("file", [
  866. "hash" => $archivo["hash"],
  867. "box" => $archivo["box"],
  868. "station" => $archivo["station"],
  869. "filename" => $archivo["filename"],
  870. "timestamp" => $archivo["timestamp"]
  871. ])
  872. ->execute();
  873. $this->stdout("{$archivo["hash"]} {$archivo["timestamp"]} {$archivo["station"]}\n");
  874. } catch(\Exception $e) {
  875. $this->stdout("{$archivo["hash"]} {$archivo["timestamp"]} {$archivo["station"]} ya existe\n");
  876. }
  877. }
  878. $this->stdout("Durmiendo por 1 minuto\n");
  879. sleep(60);
  880. }
  881. }
  882. public function actionUltimo() {
  883. $dbr = \Yii::$app->dbr;
  884. $ultimoArchivo = (new Query())
  885. ->from("file")
  886. ->orderBy(["timestamp" => SORT_DESC])
  887. ->limit(1)
  888. ->one($dbr);
  889. $this->stdout("Fecha: {$ultimoArchivo["timestamp"]}\n");
  890. }
  891. public function actionPorEstacion() {
  892. $dbr = \Yii::$app->dbr;
  893. $inicio = time();
  894. $archivos = (new Query())
  895. ->from("file")
  896. ->innerJoin("box", "box.id = file.box")
  897. ->andWhere([
  898. "box" => $this->ciudad,
  899. "station" => $this->estacion,
  900. ])
  901. ->andWhere([">=", "[[timestamp]] at time zone box.timezone", "{$this->fi} 00:00:00"])
  902. ->andWhere(["<", "[[timestamp]] at time zone box.timezone", "{$this->ff} 00:00:00"])
  903. ->orderBy(["timestamp" => SORT_ASC]);
  904. // $this->stdout($archivos->createCommand()->getRawSql() . "\n");
  905. // return;
  906. foreach($archivos->each(100, $dbr) as $archivo) {
  907. try {
  908. \Yii::$app->getDb()->createCommand()
  909. ->insert("file", [
  910. "hash" => $archivo["hash"],
  911. "box" => $archivo["box"],
  912. "station" => $archivo["station"],
  913. "filename" => $archivo["filename"],
  914. "timestamp" => $archivo["timestamp"]
  915. ])
  916. ->execute();
  917. $this->stdout("{$archivo["hash"]} {$archivo["station"]} {$archivo["box"]} {$archivo["timestamp"]}\n");
  918. } catch(\Exception $e) {
  919. $this->stdout("{$e->getMessage()}\n");
  920. }
  921. }
  922. $tiempo = time() - $inicio;
  923. $this->stdout("Proceso terminado en: {$tiempo}\n");
  924. }
  925. public function actionPorFecha() {
  926. $db = \Yii::$app->dbw;
  927. $inicio = time();
  928. $archivos = (new Query())
  929. ->from("file")
  930. ->innerJoin("box", "box.id = file.box")
  931. ->andWhere([">=", "[[timestamp]] at time zone box.timezone", "{$this->fi} 00:00:00"])
  932. ->andWhere(["<", "[[timestamp]] at time zone box.timezone", "{$this->ff} 00:00:00"])
  933. ->orderBy(["timestamp" => SORT_ASC]);
  934. // $total = (clone $archivos)->count();
  935. // $this->stdout("Total: {$total}\n");
  936. // $this->stdout($archivos->createCommand()->getRawSql() . "\n");
  937. // return;
  938. $cont = 0;
  939. foreach($archivos->each(100, $db) as $archivo) {
  940. $estacion = str_pad($archivo["station"], 20, " ", STR_PAD_RIGHT);
  941. $ciudad = str_pad($archivo["box"], 12, " ", STR_PAD_RIGHT);
  942. try {
  943. \Yii::$app->getDb()->createCommand()
  944. ->insert("file", [
  945. "hash" => $archivo["hash"],
  946. "box" => $archivo["box"],
  947. "station" => $archivo["station"],
  948. "filename" => $archivo["filename"],
  949. "timestamp" => $archivo["timestamp"]
  950. ])
  951. ->execute();
  952. $this->stdout("{$archivo["hash"]} {$archivo["timestamp"]} {$ciudad} {$estacion} \n");
  953. } catch(\Exception $e) {
  954. $this->stdout("{$archivo["hash"]} {$archivo["timestamp"]} {$ciudad} {$estacion} Error\n");
  955. }
  956. $cont++;
  957. }
  958. $tiempo = time() - $inicio;
  959. $this->stdout("Proceso terminado en: {$tiempo}\n");
  960. }
  961. }