黄千龙
2023-03-08 962519811b7c4be07f30d09e791798b0ea79d3ae
force-app/main/default/classes/NFM704Rest.cls
@@ -117,6 +117,11 @@
        Savepoint sp = Database.setSavepoint();
        // 704改善 2023-02-09 ssm start
        // 增加一个标记,当回传数据里,医院管理编码为空时,报错但不重发
        Boolean error_without_resend = false;
        // 704改善 2023-02-09 ssm end
        try{
            //管理编码List
            List<String> DoctorNoList = new List<String>();
@@ -198,6 +203,10 @@
                }else{//否
                    // continue;
                    logstr += '不存在的医院管理编码:['+accMap.get(ged.HospitalMCode)+']/n';
                    // 704改善 2023-02-09 ssm start
                    // 设置标记为true
                    error_without_resend = true;
                    // 704改善 2023-02-09 ssm end
                    throw new ControllerUtil.myException('不存在的医院管理编码:['+accMap.get(ged.HospitalMCode)+']');
                }
@@ -232,8 +241,21 @@
            logstr += '\n' + ex.getMessage();
            iflog.ErrorLog__c = ex.getMessage() + '\n' + ex.getStackTraceString() + '\n' + iflog.ErrorLog__c;
            // 异常重发
            // 704改善 2023-02-09 ssm start
            if (error_without_resend) {
                // retry_cnt设置为0
                rowData.retry_cnt__c = 0;
                logstr += '\nend';
                rowData.ErrorLog__c += ex.getMessage() + '\n' + ex.getStackTraceString() + '\n';
                iflog.ErrorLog__c += ex.getMessage() + '\n' + ex.getStackTraceString() + '\n';
                iflog.Log__c += logstr;
                upsert iflog;
                upsert rowData;
            } else {
            rowData = NFMUtil.LogAutoSend(rowData, ex, null);
        }
            // 704改善 2023-02-09 ssm end
        }
        iflog.Log__c = logstr;
        upsert iflog;
        upsert rowData;