Savelyev_Vyacheslav

сортировка по сопкам какна тесте

Oct 1st, 2024 (edited)
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // сортировка по сопкам какна тесте
  2.  
  3. // сбор записей из VCS Records
  4. // Создаем объект записи для таблицы sys_vcs_record
  5. var records = new SimpleRecord('sys_vcs_record');
  6. // Применяем фильтр с помощью addEncodedQuery
  7. records.addEncodedQuery('(table_name!%3Dsys_script%5Eis_current%3D0%5Elocal_pack_id!%3D160699747810107090%5Elocal_pack_id!%3D172270522208952952%5Ejson_copyLIKEDVT%5Etable_name%3Dsys_notification_script)%5EGROUPBYtable_name');
  8. // Выполняем запрос
  9. records.query();
  10. const arr = [];
  11. // Проходим по найденным записям и выводим значение поля local_pack_id
  12. while (records.next()) {
  13.     const obj = {};
  14.     obj.record_id = records.record_id;
  15.     obj.local_pack_id = records.getDisplayValue('local_pack_id');
  16.  
  17.     // Проверяем, существует ли объект с таким же record_id и local_pack_id
  18.     const isDuplicate = arr.some(item =>
  19.         item.record_id === obj.record_id &&
  20.         item.local_pack_id === obj.local_pack_id
  21.     );
  22.  
  23.     // Если такого объекта нет, добавляем его в массив
  24.     if (!isDuplicate) {
  25.         arr.push(obj);
  26.     }
  27. }
  28.  
  29. ss.info(arr);
  30.  
  31.  
  32. // фасовка сортировка по пакетам как на тесте
  33. // Создаем объект записи для таблицы sys_vcs_record
  34. const arr1 = [
  35.     {
  36.         "record_id": "172520482302708810",
  37.         "local_pack_id": "DVT:ITSM:System Incident to all Group & Inherited Notification:v2"
  38.     },
  39.     {
  40.         "record_id": "172260430501060909",
  41.         "local_pack_id": "DVT:ITSM:Notification link fix:v2"
  42.     },
  43. ]
  44.  
  45.  
  46. function getRecord(id) {
  47.     var records = new SimpleRecord('sys_vcs_record');
  48.     records.get('record_id', id);
  49.     return records
  50. }
  51. function getPackID(name) {
  52.     var records = new SimpleRecord('sys_vcs_local_pack');
  53.     records.get('name', name);
  54.     let id = records.sys_id
  55.     if(!!id) return id
  56.     records.addQuery('name','like', name)
  57.     records.query()
  58.     records.next()
  59.     let name_ = records.name.trim()
  60.     if(name == name_) return records.sys_id
  61.     return ''
  62. }
  63.  
  64.  
  65. arr1.forEach(item => {
  66.     // console.log(`Record ID: ${item.record_id}, Local Pack ID: ${item.local_pack_id}`);
  67.     const current = getRecord(item.record_id)
  68.     const pakID = getPackID(item.local_pack_id)
  69.     current.setValue('local_pack_id', pakID)
  70.  
  71.     if(!pakID) {
  72.         ss.info(`https://support-dev.volgaflot.com/record/sys_notification_rule/${item.record_id}`)
  73.         ss.info(item.local_pack_id)    
  74.     } else {
  75.         current.update()
  76.     }
  77. });
  78.  
  79.  
Advertisement
Add Comment
Please, Sign In to add comment