Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. /*
  2. * Update старых анкет
  3. */
  4. public function actionUpdateWorksheet () {
  5. $box = new InternalBox('fkr');
  6.  
  7. // все анкеты
  8. $oldWorksheet = array();
  9. foreach (self::$allowedToExport as $template) {
  10. if ($template != 'buildCity' && $template != 'documentation') {
  11. $oldWorksheet = array_merge($oldWorksheet, self::getNewDocs($template));
  12. }
  13. }
  14.  
  15. // выборка работ по связи через график
  16. $scheduleInspectionExtId = array();
  17. foreach ($oldWorksheet as $worksheet) {
  18. $scheduleInspectionExtId[] = $worksheet['data']['info']['scheduleInspectionExtId'];
  19. }
  20. $scheduleInspectionExtId = array_unique($scheduleInspectionExtId);
  21.  
  22. $workList = array();
  23. foreach ($scheduleInspectionExtId as $extId) {
  24. $workList[$extId] = $box->findAllDocuments(array(
  25. 'template' => 'work',
  26. 'data.scheduleInspectionExtId' => $extId
  27. ));
  28. }
  29.  
  30.  
  31. $successfully = 0;
  32. $haveWorkId = 0;
  33. $alarm = array();
  34.  
  35. // ищем связи, обновляем документ
  36. foreach ($oldWorksheet as $worksheet) {
  37. if (empty($worksheet['data']['info']['workId'])) {
  38. $flag = false;
  39. foreach ($workList[$worksheet['data']['info']['scheduleInspectionExtId']] as $work) {
  40. if ($work['data']['workType'] == $worksheet['template']) {
  41. //echo "check\n";
  42. $flag = true;
  43. $worksheet['data']['info']['workId'] = $work['extId'];
  44. $box->saveDocument($worksheet);
  45. $successfully++;
  46. break;
  47. }
  48. }
  49. if (!$flag) {
  50. $alarm[] = $worksheet;
  51. }
  52. } else {
  53. $haveWorkId++;
  54. }
  55. }
  56.  
  57. $check = count($oldWorksheet) - $haveWorkId; // убираем из подсчета анкеты уже имевшие IDшник
  58. echo "result = " . $successfully . ' / ' . $check . PHP_EOL;
  59.  
  60. /*foreach ($alarm as $work) {
  61. echo $work['id'] . PHP_EOL;
  62. }*/
  63.  
  64.  
  65. exit();
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement