Skip to content

Commit 350b97a

Browse files
Create DuplicateCIDetectorScriptInclude.js
var DuplicateCIDetector = Class.create(); DuplicateCIDetector.prototype = { initialize: function() {}, findDuplicates: function(ciName, serialNumber, assetTag, sysId) { var duplicates = []; var gr = new GlideRecord('cmdb_ci'); gr.addQuery('active', true); // Basic name match (case-insensitive) if (ciName) { gr.addQuery('name', 'LIKE', ciName); } // Optional matching by serial or asset tag if (serialNumber) { gr.addOrCondition('serial_number', serialNumber); } if (assetTag) { gr.addOrCondition('asset_tag', assetTag); } if (sysId) gr.addQuery('sys_id', '!=', sysId); // ignore current record gr.query(); while (gr.next()) { duplicates.push({ name: gr.getValue('name'), serial_number: gr.getValue('serial_number'), asset_tag: gr.getValue('asset_tag'), sys_id: gr.getUniqueValue() }); } return duplicates; }, type: 'DuplicateCIDetector' };
1 parent 11936d4 commit 350b97a

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
var DuplicateCIDetector = Class.create();
2+
DuplicateCIDetector.prototype = {
3+
initialize: function() {},
4+
5+
findDuplicates: function(ciName, serialNumber, assetTag, sysId) {
6+
var duplicates = [];
7+
var gr = new GlideRecord('cmdb_ci');
8+
gr.addQuery('active', true);
9+
10+
// Basic name match (case-insensitive)
11+
if (ciName) {
12+
gr.addQuery('name', 'LIKE', ciName);
13+
}
14+
15+
// Optional matching by serial or asset tag
16+
if (serialNumber) {
17+
gr.addOrCondition('serial_number', serialNumber);
18+
}
19+
if (assetTag) {
20+
gr.addOrCondition('asset_tag', assetTag);
21+
}
22+
23+
if (sysId)
24+
gr.addQuery('sys_id', '!=', sysId); // ignore current record
25+
26+
gr.query();
27+
while (gr.next()) {
28+
duplicates.push({
29+
name: gr.getValue('name'),
30+
serial_number: gr.getValue('serial_number'),
31+
asset_tag: gr.getValue('asset_tag'),
32+
sys_id: gr.getUniqueValue()
33+
});
34+
}
35+
36+
return duplicates;
37+
},
38+
39+
type: 'DuplicateCIDetector'
40+
};

0 commit comments

Comments
 (0)