黄千龙
2023-03-08 962519811b7c4be07f30d09e791798b0ea79d3ae
force-app/main/default/classes/NFM105Rest.cls
@@ -165,6 +165,7 @@
                                    ,Maintenance_Contract__c
                                    ,SerialNumber__c
                                    ,Agreed_Date__c 
                                    ,Limit_Price__c //上限合同 LY 20230209
                                  from Repair__c
                                  where SAPRepairNo__c in :sapRepairNoList
                                  OR Name in :sfdcRepairNoList]
@@ -596,13 +597,20 @@
            List<ID> updateMC = new List<ID>();
            if (rprList.size() > 0 ) {
                for (Repair__c rc : rprList) {
                    Maintenance_Contract__c mc = new Maintenance_Contract__c();
                    if (!updateMC.contains(rc.Maintenance_Contract__c)) {
                        mc.Id = rc.Maintenance_Contract__c;
                    }
                    updateMC.add(mc.Id);
                    if (rc.Limit_Price__c) {
                        //B95-报价同意确认、B99-报价同意确认取消、A95-取消修理受理、A96-取消修理、A99-修理单关闭 更新合同期间修理金额
                        if (rc.RepairOrderStatusCode__c =='B95' || rc.RepairOrderStatusCode__c =='B99' || rc.RepairOrderStatusCode__c =='A99' || rc.RepairOrderStatusCode__c =='A95' || rc.RepairOrderStatusCode__c =='A96'){
                            Maintenance_Contract__c mc = new Maintenance_Contract__c();
                            if (!updateMC.contains(rc.Maintenance_Contract__c)) {
                                mc.Id = rc.Maintenance_Contract__c;
                            }
                            updateMC.add(mc.Id);
                        }
                    }
                }
                Database.executeBatch(new RollupToMaintenanceContractBatch(updateMC), 1);
                if (updateMC.size()>0) {
                    Database.executeBatch(new RollupToMaintenanceContractBatch(updateMC), 1);
                }
            }
            //上限合同 LY 20230131 end