denny chen
2023-03-29 6a471bc62a8567abd74dcef733fcddf9911b6a16
force-app/main/default/triggers/Repair.trigger
@@ -83,7 +83,6 @@
                    defaultFlag = false;
                }
                // GZW 特殊处理 跳过维修中心自动赋值,以手选为准 start
                if ((repair.Status__c == '草案中' || String.isBlank(repair.Status__c)) == false) {
                    // if (Trigger.isUpdate && repair.SAP_Transfer_time__c == null) {
                    if (Trigger.isUpdate && repair.SAP_Transfer_time__c == null && repair.Exc_work_location__c == false) {
@@ -164,6 +163,16 @@
                                }
                            }
                            //限次合同产品信息维护相关 FXK 2021/03/05 END
                            //上限合同 LY 20230117 start
                            //如果记录类型是服务任务并且是上限合同,那么判断超过合同上限标志
                            if (middleTable.Maintenance_Contract__r.RecordType.DeveloperName == 'NewMaintenance_Contract'
                                    && middleTable.Maintenance_Contract__r.Limit_Price__c == true) {
                                //新建修理即无修理报价 维修合同上的修理剩余金额如果小于等于0 那么【超过合同上限】为true
                                if (middleTable.Maintenance_Contract__r.Remaining_Amount__c <= 0 ) {
                                    repair.ZFLAG_CGSX__c = true;
                                }
                            }
                            //上限合同 LY 20230117 end
                            needsetnull = false;
                            System.debug( '-----:自动带出维修合同22222');//把保有设备上的维修合同存到修理上
                            break;
@@ -406,6 +415,19 @@
            }
        }
        // 2022-12-22   zyh   add   END
        //上限合同 LY 20230207 start
        //维修合同上的修理剩余金额如果大于0,且【剩余金额】减去修理报价的计入【合同消费率的修理金额】小于等于0,那么【到达上限】为true
        if (Trigger.isBefore && Trigger.isUpdate) {
            for (Repair__c repair: Trigger.new) {
                if (repair.Limit_Price__c ==true ){
                    if (repair.Agreed_Date__c!=null && repair.Remaining_Amount__c >=0 &&(repair.Remaining_Amount__c-repair.Usage_Ratio_Price__c)<=0){
                        repair.ZFLAG_SX__c = true;
                    }
                }
            }
        }
        //上限合同 LY 20230207 end
        System.debug( '-----: trigger end');
    }
    public void test(){