李彤
2022-04-02 1949e7ccb3bfab67ad2b16d7e0172851c3f823bb
force-app/main/default/classes/MaintenanceContractWebService.cls
@@ -1,7 +1,7 @@
global class MaintenanceContractWebService {
    // 用户点击上传sap按钮,更新状态到契约,自动触发上传sap接口程序
    WebService static String up2sap(String mcid) {
        List<Maintenance_Contract__c> mcList = [select id, Status__c, Maintenance_Contract_No__c , Hospital__c , RecordTypeId, RecordType.DeveloperName from Maintenance_Contract__c where id = :mcid ];
        List<Maintenance_Contract__c> mcList = [select id, Status__c, Maintenance_Contract_No__c , Hospital__c , RecordTypeId, RecordType.DeveloperName,Is_RecognitionModel__c,Recognition_Model_Type__c,upload_to_RM_time__c,old_Is_RecognitionModel__c,Is_Recognition_Model_True__c from Maintenance_Contract__c where id = :mcid ];
        if (mcList.size() == 0) {
            return '维修合同不存在,请确认维修合同ID。';
        }
@@ -9,24 +9,40 @@
        if (mc.Maintenance_Contract_No__c == null || mc.Maintenance_Contract_No__c == '') {
            return Schema.SObjectType.Maintenance_Contract__c.fields.Maintenance_Contract_No__c.label + '为空,不能上传sap';
        }
        mc.Status__c = '契約';
        mc.upload_to_sap_time__c = Datetime.now();
        //update   wangweipeng                    2021/11/17   start
        //用于判断当前合同是否需要认款
        boolean flag = false;
        //判断是否需要认款合同
        if(mc.old_Is_RecognitionModel__c){
            //判断当前合同是否已经认款完成
            if(!mc.Is_Recognition_Model_True__c){
                flag = true;
            }
        }
        //update   wangweipeng                    2021/11/17   end
        try {
            //2021-01-14  mzy  add LJPH-BWY5QB  合同状态为合同中时 ,将客户上的 维修合同用户类型  设为true ,合同上的 用户类型 为 新用户, 以后维修合同用户类型 都为 true 合同上的 用户类型 为 既有用户
            //只有合同是维修合同和服务合同的时候进入
            if (!mc.RecordType.DeveloperName.equals('VM_Contract')) {
                List<Account> acList =  [select id, MaintenanceContractUserType__c from Account where id = :mc.Hospital__c];
                if (acList != null && acList.size() > 0) {
                    Account hp = acList[0];
                    //老用户
                    if (hp.MaintenanceContractUserType__c == true) {
                        mc.UserType__c = '既有用户';
                    } else {
                        //新用户
                        hp.MaintenanceContractUserType__c = true;
                        mc.UserType__c = '新用户';
                        update hp;
            if(flag){
                mc.upload_to_RM_time__c = Datetime.now();//上传认款合同时间
                //mc.old_Is_RecognitionModel__c = mc.Is_RecognitionModel__c;
            }else{
                mc.Status__c = '契約';
                mc.upload_to_sap_time__c = Datetime.now();
                //2021-01-14  mzy  add LJPH-BWY5QB  合同状态为合同中时 ,将客户上的 维修合同用户类型  设为true ,合同上的 用户类型 为 新用户, 以后维修合同用户类型 都为 true 合同上的 用户类型 为 既有用户
                //只有合同是维修合同和服务合同的时候进入
                if (!mc.RecordType.DeveloperName.equals('VM_Contract')) {
                    List<Account> acList =  [select id, MaintenanceContractUserType__c from Account where id = :mc.Hospital__c];
                    if (acList != null && acList.size() > 0) {
                        Account hp = acList[0];
                        //老用户
                        if (hp.MaintenanceContractUserType__c == true) {
                            mc.UserType__c = '既有用户';
                        } else {
                            //新用户
                            hp.MaintenanceContractUserType__c = true;
                            mc.UserType__c = '新用户';
                            update hp;
                        }
                    }
                }
            }