global without sharing class AssetWebService { private static Set assStatus = new Set{'不明','废弃','未使用', '廃棄'}; WebService static String createLostReport(String assetId) { return createLostReportCheck(assetId, true); } public static String createLostReportCheck(String assetId, Boolean isWeb) { try { List asList = [SELECT Id , Account.Management_Code__c , Status , Asset_loaner_category__c , Internal_Asset_number_key__c FROM Asset WHERE id = :assetId]; if (asList.size() == 0) { return '2:保有设备不存在,请刷新画面重试'; } else { Asset ass = asList[0]; if (ass.Account.Management_Code__c != System.Label.Account_Asset_FJZ) { return '2:集中管理备品无法通过此路径创建遗失报告'; } else if (String.isBlank(ass.Internal_Asset_number_key__c)) { return '2:此保有设备不是固定资产,无法创建遗失报告'; } else if (assStatus.contains(ass.Status)) { return '2:此保有设备的状态不符合创建遗失报告的条件,无法创建遗失报告'; } } List lrList = [SELECT Id, Name FROM LostReport__c WHERE Asset__c = :assetId AND Status__c != '取消提交']; if (lrList.size() > 0) { List ldList = [SELECT Id FROM LostReport_Detail__c WHERE LostReport__c = :lrList[0].Id AND Asset__c = :assetId AND CancelLostReport__c = false]; if (ldList.size() > 0) { return '2:已经创建遗失报告明细无需再次创建'; } } return '1:' + assetId; } catch(Exception e) { return '2:' + e.getMessage(); } } /** * 转换办事处到省 * @param str 存放地 * @return OCSM管理省名字 */ WebService static String getOcmMgtProvStr(String str) { Map ocmMgtProvMap = AssetWebService.getOcmMgtProvMap(); String res = ''; System.debug(ocmMgtProvMap); System.debug(str); if (ocmMgtProvMap.containsKey(str)) { res = ocmMgtProvMap.get(str); } return res; } /** * 从 Label.OCM_Management_Province_Mapping * 取出 存放地 → 省 的 Map */ public static Map getOcmMgtProvMap() { Map ocm_Map = new Map(); String OCM_Management_Province_Mapping = System.Label.OCM_Management_Province_Mapping; for (String str : OCM_Management_Province_Mapping.split(',')) { List strList = str.split(':'); ocm_Map.put(strList[1].trim(), strList[0].trim()); } return ocm_Map; } }