| | |
| | | this.oldList = (List<Maintenance_Contract_Asset_Estimate__c>) Trigger.old; |
| | | } |
| | | |
| | | protected override void afterUpdate() { |
| | | // updateMainContract(); |
| | | } |
| | | |
| | | public void updateMainContract(){ |
| | | System.debug(LoggingLevel.INFO, '*** in update: '); |
| | | Map<String,List<Maintenance_Contract_Asset_Estimate__c>> mcaMap = new Map<String,List<Maintenance_Contract_Asset_Estimate__c>>(); |
| | | Map<String,Maintenance_Contract_Asset_Estimate__c> assetIds = new Map<String,Maintenance_Contract_Asset_Estimate__c>(); |
| | | for (Maintenance_Contract_Asset_Estimate__c mca: newList) { |
| | | System.debug(LoggingLevel.INFO, '***test mca.Asset__c: '+ mca.Asset__c); |
| | | //保有设备 |
| | | if(String.isNotBlank(mca.Asset__c)){ |
| | | assetIds.put(mca.Asset__c,mca); |
| | | System.debug(LoggingLevel.INFO, '***test mca.Asset__c: '+ mca.Asset__c); |
| | | |
| | | } |
| | | //报价 |
| | | if(mca.Repair_Price__c!=0 && mca.Repair_Price__c!=null){ |
| | | // if(mca.Maintenance_Contract_Estimate__c!='' && mca.Maintenance_Contract_Estimate__c!=null){ |
| | | List<Maintenance_Contract_Asset_Estimate__c> mcaList = new List<Maintenance_Contract_Asset_Estimate__c>(); |
| | | mcaList.add(mca); |
| | | if(mcaMap.containsKey(mca.Maintenance_Contract_Estimate__c)){ |
| | | List <Maintenance_Contract_Asset_Estimate__c> mlist = mcaMap.get(mca.Maintenance_Contract_Estimate__c); |
| | | mlist.add(mca); |
| | | mcaMap.put(mca.Maintenance_Contract_Estimate__c,mlist); |
| | | }else{ |
| | | mcaMap.put(mca.Maintenance_Contract_Estimate__c,mcaList); |
| | | } |
| | | } |
| | | |
| | | } |
| | | //合同设备 |
| | | List<Maintenance_Contract_Asset__c> upMcAssetList = new List<Maintenance_Contract_Asset__c>(); |
| | | for (Maintenance_Contract_Asset__c mcasset : [SELECT Id,Maintenance_Contract_Asset_Estimate__c FROM Maintenance_Contract_Asset__c WHERE Asset__c IN:assetIds.keySet()]) { |
| | | Maintenance_Contract_Asset_Estimate__c mca= assetIds.get(mcasset.Maintenance_Contract_Asset_Estimate__c); |
| | | mcasset.Third_Party_Return__c = mca.Third_Party_Return__c; |
| | | mcasset.Surcharge_Defective_Contract__c = mca.Surcharge_Defective_Contract__c; |
| | | upMcAssetList.add(mcasset); |
| | | } |
| | | |
| | | |
| | | //报价 |
| | | List<Maintenance_Contract_Estimate__c> upMEstimateList = new List<Maintenance_Contract_Estimate__c>(); |
| | | //维修合同 |
| | | List<Maintenance_Contract__c> upMContractList = new List<Maintenance_Contract__c>(); |
| | | for (Maintenance_Contract_Estimate__c mc : [SELECT Id, Maintenance_Contract__c,IsSyncing__c FROM Maintenance_Contract_Estimate__c WHERE Id IN:mcaMap.keySet()]) { |
| | | Boolean hasThirdPartyReturnc = false; |
| | | Boolean hasSurchargeDefective = false; |
| | | |
| | | for (Maintenance_Contract_Asset_Estimate__c mca: mcaMap.get(mc.Id)) { |
| | | if(mca.Third_Party_Return__c == true){ |
| | | hasThirdPartyReturnc = true; |
| | | } |
| | | if(mca.Surcharge_Defective_Contract__c == true){ |
| | | hasSurchargeDefective = true; |
| | | } |
| | | System.debug(LoggingLevel.INFO, '*** boolean: ' + hasThirdPartyReturnc); |
| | | System.debug(LoggingLevel.INFO, '*** boolean: ' + hasSurchargeDefective); |
| | | } |
| | | if(hasThirdPartyReturnc == true){ |
| | | mc.Third_Party_Return__c = true; |
| | | mc.Surcharge_Defective_Contract__c = false; |
| | | }else if(hasThirdPartyReturnc == false && hasSurchargeDefective == true){ |
| | | mc.Surcharge_Defective_Contract__c = true; |
| | | mc.Third_Party_Return__c = false; |
| | | }else if(hasThirdPartyReturnc == false && hasSurchargeDefective == false){ |
| | | mc.Surcharge_Defective_Contract__c = false; |
| | | mc.Third_Party_Return__c = false; |
| | | } |
| | | |
| | | if(mc.IsSyncing__c == true){ |
| | | if(mc.Maintenance_Contract__c != null){ |
| | | Maintenance_Contract__c mContract = new Maintenance_Contract__c(); |
| | | mContract.Id = mc.Maintenance_Contract__c; |
| | | mContract.Third_Party_Return_Contract__c = mc.Third_Party_Return__c; |
| | | mContract.Surcharge_Defective_Contract__c = mc.Surcharge_Defective_Contract__c; |
| | | // if(hasThirdPartyReturnc == true){ |
| | | // mContract.Third_Party_Return_Contract__c = true; |
| | | // mContract.Surcharge_Defective_Contract__c = false; |
| | | // }else{ |
| | | // mContract.Surcharge_Defective_Contract__c = true; |
| | | // mContract.Third_Party_Return_Contract__c = false; |
| | | // } |
| | | |
| | | System.debug(LoggingLevel.INFO, '*** upMContractList: ' + upMContractList); |
| | | upMContractList.add(mContract); |
| | | } |
| | | } |
| | | upMEstimateList.add(mc); |
| | | |
| | | } |
| | | if(upMEstimateList.size()>0){ |
| | | update upMEstimateList; |
| | | } |
| | | System.debug(LoggingLevel.INFO, '*** 报价: ' + upMEstimateList); |
| | | System.debug(LoggingLevel.INFO, '*** 维修合同: ' + upMContractList); |
| | | System.debug(LoggingLevel.INFO, '*** 合同设备: ' + upMcAssetList); |
| | | |
| | | if(upMContractList.size()>0){ |
| | | update upMContractList; |
| | | } |
| | | |
| | | if(upMcAssetList.size()>0){ |
| | | update upMcAssetList; |
| | | } |
| | | |
| | | } |
| | | |
| | | protected override void beforeUpdate() { |
| | | |
| | | } |