|  |  |  | 
|---|
|  |  |  | // 合同询价编码   维修合同/保有设备集合 | 
|---|
|  |  |  | Map<String,List<Maintenance_Contract_Asset__c>> OppAssMap = new Map<String,List<Maintenance_Contract_Asset__c>>(); | 
|---|
|  |  |  | // 目标客户  合同询价编码set | 
|---|
|  |  |  | Map <string, Set<Maintenance_Contract_Asset__c>> vMOppMap = new  map <string, Set<Maintenance_Contract_Asset__c>>(); | 
|---|
|  |  |  | Map <string, Set<Maintenance_Contract__c>> vMOppMap = new  map <string, Set<Maintenance_Contract__c>>(); | 
|---|
|  |  |  | // Map <string, Set<Maintenance_Contract_Asset__c>> vMOppMap = new  map <string, Set<Maintenance_Contract_Asset__c>>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //add by rentx LJPH-C493WW | 
|---|
|  |  |  | //LJPH-C493WW  fy    【委托】 【多年保合同】多年保设备转移造成的合同问题  start | 
|---|
|  |  |  | List<Maintenance_Contract__c> MainCList=new List<Maintenance_Contract__c>(); | 
|---|
|  |  |  | Map<String,Maintenance_Contract__c> MainCMap=new Map<String,Maintenance_Contract__c>(); | 
|---|
|  |  |  | //LJPH-C493WW  fy    【委托】 【多年保合同】多年保设备转移造成的合同问题  end | 
|---|
|  |  |  | if(idList != null && idList.size() > 0){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | //update by rentx LJPH-C493WW  start | 
|---|
|  |  |  | //LJPH-C493WW  fy    【委托】 【多年保合同】多年保设备转移造成的合同问题  start | 
|---|
|  |  |  | if (!vMOppMap.containsKey(accountIdStr)) { | 
|---|
|  |  |  | vMOppMap.put(accountIdStr, new Set<Maintenance_Contract_Asset__c>()); | 
|---|
|  |  |  | vMOppMap.put(accountIdStr, new Set<Maintenance_Contract__c>()); | 
|---|
|  |  |  | // vMOppMap.put(accountIdStr, new Set<Maintenance_Contract_Asset__c>()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | vMOppMap.get(accountIdStr).add(maAssetMap.get(asset.Id)); | 
|---|
|  |  |  | Maintenance_Contract__c maintenancecontc=new Maintenance_Contract__c(); | 
|---|
|  |  |  | maintenancecontc.Id = maAssetMap.get(asset.Id).Maintenance_Contract__c; | 
|---|
|  |  |  | maintenancecontc.Add_Number__c = maAssetMap.get(asset.Id).Maintenance_Contract__r.Add_Number__c; | 
|---|
|  |  |  | maintenancecontc.Management_Code__c = maAssetMap.get(asset.Id).Maintenance_Contract__r.Management_Code__c; | 
|---|
|  |  |  | vMOppMap.get(accountIdStr).add(maintenancecontc); | 
|---|
|  |  |  | // vMOppMap.get(accountIdStr).add(maAssetMap.get(asset.Id)); | 
|---|
|  |  |  | //LJPH-C493WW  fy    【委托】 【多年保合同】多年保设备转移造成的合同问题  end | 
|---|
|  |  |  | //update by rentx LJPH-C493WW  end | 
|---|
|  |  |  | System.debug('maAssetMap.get(asset.Id)=====:'+maAssetMap.get(asset.Id)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | System.debug('154::: vMOppMap '+vMOppMap); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (vMOppMap.size() > 0) { | 
|---|
|  |  |  | for (String str : vMOppMap.keySet()) { | 
|---|
|  |  |  | //update by rentx LJPH-C493WW  start | 
|---|
|  |  |  | Set<Maintenance_Contract_Asset__c> vset = vMOppMap.get(str); | 
|---|
|  |  |  | Set<Maintenance_Contract__c> vset = vMOppMap.get(str); | 
|---|
|  |  |  | //Set<Maintenance_Contract_Asset__c> vset = vMOppMap.get(str); | 
|---|
|  |  |  | //LJPH-C493WW  fy    【委托】 【多年保合同】多年保设备转移造成的合同问题  start | 
|---|
|  |  |  | for (Maintenance_Contract_Asset__c mcodes : vset) { | 
|---|
|  |  |  | for (Maintenance_Contract__c mcodes : vset) { | 
|---|
|  |  |  | //for (Maintenance_Contract_Asset__c mcodes : vset) { | 
|---|
|  |  |  | Maintenance_Contract__c vmc = new Maintenance_Contract__c(); | 
|---|
|  |  |  | vmc.Name = accMap.get(str).Parent.Parent.Name + '多年保修'; | 
|---|
|  |  |  | vmc.Status__c = '契約'; | 
|---|
|  |  |  | system.debug('mcodes==='+mcodes); | 
|---|
|  |  |  | // List<String> mcodestrList= mcodes.split('@'); | 
|---|
|  |  |  | String mcode =mcodes.Maintenance_Contract__r.Management_Code__c; | 
|---|
|  |  |  | String mcid=(String)mcodes.Maintenance_Contract__c; | 
|---|
|  |  |  | // String mcode =mcodes.Maintenance_Contract__r.Management_Code__c; | 
|---|
|  |  |  | // String mcid=(String)mcodes.Maintenance_Contract__c; | 
|---|
|  |  |  | String mcode =mcodes.Management_Code__c; | 
|---|
|  |  |  | String mcid=(String)mcodes.Id; | 
|---|
|  |  |  | // String addNumber =mcodestrList[1]; | 
|---|
|  |  |  | Map<String,Decimal> addnumMap = new Map<String,Decimal>(); | 
|---|
|  |  |  | if (String.isNotBlank(mcode) && mcode.substring(mcode.length()-3,mcode.length()-2) == '-' ) { | 
|---|
|  |  |  | 
|---|
|  |  |  | Integer count = Integer.valueOf(mcode.substring(mcode.length()-2,mcode.length())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | vmc.Management_CodeVM__c = startstr + String.valueOf(count +1).leftPad(2,'0'); | 
|---|
|  |  |  | mcodes.Maintenance_Contract__r.Add_Number__c=count +1; | 
|---|
|  |  |  | addnumMap.put(mcid,mcodes.Maintenance_Contract__r.Add_Number__c); | 
|---|
|  |  |  | // mcodes.Maintenance_Contract__r.Add_Number__c=count +1; | 
|---|
|  |  |  | // addnumMap.put(mcid,mcodes.Maintenance_Contract__r.Add_Number__c); | 
|---|
|  |  |  | mcodes.Add_Number__c=count +1; | 
|---|
|  |  |  | addnumMap.put(mcid,mcodes.Add_Number__c); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | system.debug('mcodes.Maintenance_Contract__r.Add_Number__c'+mcodes.Maintenance_Contract__r.Add_Number__c); | 
|---|
|  |  |  | if(mcodes.Maintenance_Contract__r.Add_Number__c==null||mcodes.Maintenance_Contract__r.Add_Number__c==0){ | 
|---|
|  |  |  | system.debug('mcodes.Maintenance_Contract__r.Add_Number__c'+mcodes.Add_Number__c); | 
|---|
|  |  |  | if(mcodes.Add_Number__c==null||mcodes.Add_Number__c==0){ | 
|---|
|  |  |  | // if(mcodes.Maintenance_Contract__r.Add_Number__c==null||mcodes.Maintenance_Contract__r.Add_Number__c==0){ | 
|---|
|  |  |  | vmc.Management_CodeVM__c = mcode + '-01'; | 
|---|
|  |  |  | mcodes.Maintenance_Contract__r.Add_Number__c=1; | 
|---|
|  |  |  | addnumMap.put(mcid,mcodes.Maintenance_Contract__r.Add_Number__c); | 
|---|
|  |  |  | // mcodes.Maintenance_Contract__r.Add_Number__c=1; | 
|---|
|  |  |  | // addnumMap.put(mcid,mcodes.Maintenance_Contract__r.Add_Number__c); | 
|---|
|  |  |  | mcodes.Add_Number__c=1; | 
|---|
|  |  |  | addnumMap.put(mcid,mcodes.Add_Number__c); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | Decimal addnum = mcodes.Maintenance_Contract__r.Add_Number__c+1; | 
|---|
|  |  |  | if(mcodes.Maintenance_Contract__r.Add_Number__c<=9){ | 
|---|
|  |  |  | // Decimal addnum = mcodes.Maintenance_Contract__r.Add_Number__c+1; | 
|---|
|  |  |  | // if(mcodes.Maintenance_Contract__r.Add_Number__c<=9){ | 
|---|
|  |  |  | Decimal addnum = mcodes.Add_Number__c+1; | 
|---|
|  |  |  | if(mcodes.Add_Number__c<=9){ | 
|---|
|  |  |  | vmc.Management_CodeVM__c = mcode + '-0'+addnum; | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | vmc.Management_CodeVM__c = mcode + '-'+addnum; | 
|---|
|  |  |  | 
|---|
|  |  |  | //LJPH-C493WW  fy    【委托】 【多年保合同】多年保设备转移造成的合同问题  start | 
|---|
|  |  |  | mctrobject.Id=mac.Maintenance_Contract__c; | 
|---|
|  |  |  | mctrobject.Add_Number__c=addnumMap.get(mac.Maintenance_Contract__c); | 
|---|
|  |  |  | MainCList.add(mctrobject); | 
|---|
|  |  |  | MainCMap.put(mctrobject.Id,mctrobject); | 
|---|
|  |  |  | system.debug('mctrobject.Id===='+mctrobject.Id); | 
|---|
|  |  |  | system.debug('mctrobject.Add_Number__c======='+mctrobject.Add_Number__c); | 
|---|
|  |  |  | //LJPH-C493WW  fy    【委托】 【多年保合同】多年保设备转移造成的合同问题  end | 
|---|
|  |  |  | 
|---|
|  |  |  | update assetList; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //LJPH-C493WW  fy    【委托】 【多年保合同】多年保设备转移造成的合同问题  start | 
|---|
|  |  |  | if(MainCList != null && MainCList.size() > 0){ | 
|---|
|  |  |  | update MainCList; | 
|---|
|  |  |  | if(MainCMap != null && MainCMap.size() > 0){ | 
|---|
|  |  |  | List<Maintenance_Contract__c> mainList=MainCMap.values(); | 
|---|
|  |  |  | update mainList; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //LJPH-C493WW  fy    【委托】 【多年保合同】多年保设备转移造成的合同问题  end | 
|---|
|  |  |  | } | 
|---|