trigger AssetMDMDupliChk on Asset (after insert) {
|
//add by gzw 20210729 start
|
if (StaticParameter.EscapeVMCTrigger) {
|
return ;
|
}
|
//add by gzw 20210729 end
|
for (Asset ass : Trigger.new) {
|
// テストクラス実行の時、入らない
|
// シリアル番号が空欄の時は自動採番の値が設定されるため重複チェックをしない
|
// if (!Test.isRunningTest() && NFM110WebService.isRunning == false && NFM008WebService.isRunning == false
|
if (!Test.isRunningTest() && NFM110Rest.isRunning == false && NFM301Rest.isRunning == false && NFM008Rest.isRunning == false
|
&& ass.SerialNumber != null && ass.SerialNumber != ''
|
&& !ass.Delete_Flag__c && SaleOrderController.isRunning == false
|
&& !(ass.RecordTypeID == ((ID) '01210000000kOPR') && ass.Manage_type__c == '数量管理' && ass.AssetMark__c == '耗材'
|
&& ass.Loaner_accsessary__c == True && ass.unknow_serial_NO_product__c == False)
|
) {
|
if (ass.Product2Id != null) {
|
List<Asset> assList = [select Id, Name from Asset
|
where MDM_Model_No__c = :ass.MDM_Model_No__c
|
and SerialNumber = :ass.SerialNumber
|
and Id != :ass.Id
|
and Delete_Flag__c = false
|
];
|
if (assList.size() > 0) {
|
ass.addError('与现有的保有设备 ' + assList[0].Name + '[' + assList[0].Id + '] 的MDM产品型号+机身编码重复');
|
continue;
|
}
|
}
|
}
|
}
|
if (Test.isRunningTest()) {
|
Integer i=0;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
i++;
|
}
|
|
}
|