修复新g_eff块没有正确返回bug
This commit is contained in:
		
							parent
							
								
									a76b353166
								
							
						
					
					
						commit
						b053e070fe
					
				|  | @ -94,6 +94,7 @@ typedef struct _Read_Result_ | |||
|     jint b_r_record_count; | ||||
| 
 | ||||
|     /* g_Efficiency Block */ | ||||
|     jobjectArray g_e_dev_name;                  // device name
 | ||||
|     jobjectArray g_e_energy;                   // ¦Ã -energy (keV)
 | ||||
|     jobjectArray g_e_efficiency;                 // efficiency (counts in peak/photon emitted)
 | ||||
|     jobjectArray g_e_uncertainty;                // uncertainty (counts in peak/photon emitted)
 | ||||
|  |  | |||
|  | @ -136,7 +136,6 @@ bool RadionuclideMessage::AnalyseMessgeBody(QTextStream &content) | |||
|         return bIsValid = false; | ||||
|     } | ||||
|     radionuclide_msg_data.insert(block_flag.at(21), QVariant::fromValue(msg)); | ||||
| 
 | ||||
|     bool bRet = true; | ||||
|     QString line = content.readLine(); | ||||
|     do { | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE QtCreatorProject> | ||||
| <!-- Written by QtCreator 4.9.1, 2024-09-03T09:31:22. --> | ||||
| <!-- Written by QtCreator 4.9.1, 2024-09-29T11:24:08. --> | ||||
| <qtcreator> | ||||
|  <data> | ||||
|   <variable>EnvironmentId</variable> | ||||
|  |  | |||
|  | @ -28,7 +28,6 @@ JNIEXPORT jobject JNICALL Java_org_jeecg_modules_native_1jni_EnergySpectrumHandl | |||
|     //文件解析
 | ||||
|     RadionuclideMessage message; | ||||
|     bool readflag = message.AnalysePHD_File(qfilename); | ||||
| 
 | ||||
|     if (!readflag) | ||||
|     { | ||||
|         // **************** printf("THE PHDfile get failed:");
 | ||||
|  | @ -299,14 +298,30 @@ JNIEXPORT jobject JNICALL Java_org_jeecg_modules_native_1jni_EnergySpectrumHandl | |||
|     } | ||||
|     else | ||||
|     { | ||||
|         RadionuclideData::_g_Efficiency_Block_ g_efficiency = variant.value<RadionuclideData::_g_Efficiency_Block_>(); | ||||
|         allSize["g_e_energy"] = g_efficiency.g_energy.size(); | ||||
|         cresult.g_e_energy = CplusToJava::QVectorD2jobjectArray(g_efficiency.g_energy, env); | ||||
|         allSize["g_e_efficiency"] = g_efficiency.efficiency.size(); | ||||
|         cresult.g_e_efficiency = CplusToJava::QVectorD2jobjectArray(g_efficiency.efficiency, env); | ||||
|         allSize["g_e_uncertainty"] = g_efficiency.uncertainty.size(); | ||||
|         cresult.g_e_uncertainty = CplusToJava::QVectorD2jobjectArray(g_efficiency.uncertainty, env); | ||||
|         cresult.g_e_record_count = g_efficiency.record_count; | ||||
|         QString type = CplusToJava::jstring2QString(env, cresult.system_type); | ||||
|         if(type == 'C') | ||||
|         { | ||||
|             RadionuclideData::n_G_EfficiencyBlock ngeff = variant.value<RadionuclideData::n_G_EfficiencyBlock>(); | ||||
|             allSize["g_e_energy"] = ngeff.g_energy.size(); | ||||
|             cresult.g_e_energy = CplusToJava::QVectorD2jobjectArray(ngeff.g_energy, env); | ||||
|             allSize["g_e_efficiency"] = ngeff.efficiency.size(); | ||||
|             cresult.g_e_efficiency = CplusToJava::QVectorD2jobjectArray(ngeff.efficiency, env); | ||||
|             allSize["g_e_uncertainty"] = ngeff.uncertainty.size(); | ||||
|             cresult.g_e_uncertainty = CplusToJava::QVectorD2jobjectArray(ngeff.uncertainty, env); | ||||
|             allSize["g_e_dev_name"] = ngeff.dev_name.size(); | ||||
|             cresult.g_e_dev_name = CplusToJava::QVectorQS2jobjectArray(ngeff.dev_name, env); | ||||
|             cresult.g_e_record_count = ngeff.record_count; | ||||
|         } | ||||
|         else { | ||||
|             RadionuclideData::_g_Efficiency_Block_ g_efficiency = variant.value<RadionuclideData::_g_Efficiency_Block_>(); | ||||
|             allSize["g_e_energy"] = g_efficiency.g_energy.size(); | ||||
|             cresult.g_e_energy = CplusToJava::QVectorD2jobjectArray(g_efficiency.g_energy, env); | ||||
|             allSize["g_e_efficiency"] = g_efficiency.efficiency.size(); | ||||
|             cresult.g_e_efficiency = CplusToJava::QVectorD2jobjectArray(g_efficiency.efficiency, env); | ||||
|             allSize["g_e_uncertainty"] = g_efficiency.uncertainty.size(); | ||||
|             cresult.g_e_uncertainty = CplusToJava::QVectorD2jobjectArray(g_efficiency.uncertainty, env); | ||||
|             cresult.g_e_record_count = g_efficiency.record_count; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     //roi_limits内容获取
 | ||||
|  | @ -795,6 +810,11 @@ JNIEXPORT jobject JNICALL Java_org_jeecg_modules_native_1jni_EnergySpectrumHandl | |||
|      | ||||
|     if (g_Efficiencyflag) | ||||
|     { | ||||
|         //设置成员变量g_e_name的值
 | ||||
|         fieldID = env->GetFieldID(energySpectrumStructClass, "g_e_dev_name", SIG_LIST); | ||||
|         fieldJobject = CplusToJava::Createjobject(env, allSize["g_e_dev_name"], cresult.g_e_dev_name); | ||||
|         env->SetObjectField(result, fieldID, fieldJobject); | ||||
| 
 | ||||
|         //设置成员变量g_e_energy的值
 | ||||
|         fieldID = env->GetFieldID(energySpectrumStructClass, "g_e_energy", SIG_LIST); | ||||
|         fieldJobject = CplusToJava::Createjobject(env, allSize["g_e_energy"], cresult.g_e_energy); | ||||
|  | @ -1079,7 +1099,7 @@ JNIEXPORT jobject JNICALL Java_org_jeecg_modules_native_1jni_EnergySpectrumHandl | |||
|         fieldID = env->GetFieldID(energySpectrumStructClass, "lat", SIG_DOUBLE); | ||||
|         env->SetDoubleField(result, fieldID, cresult.lat); | ||||
|     } | ||||
| 
 | ||||
|     printf("func end\n"); | ||||
|     return result; | ||||
| } | ||||
| 
 | ||||
|  | @ -1097,8 +1117,9 @@ JNIEXPORT jobject JNICALL Java_org_jeecg_modules_native_1jni_EnergySpectrumHandl | |||
| 
 | ||||
|     //文件解析
 | ||||
|     RadionuclideMessage message; | ||||
|     printf("anals Start\n"); | ||||
|     bool readflag = message.AnalysePHD_File(qfilename); | ||||
| 
 | ||||
|     printf("anals end\n"); | ||||
|     if (!readflag) | ||||
|     { | ||||
|         // **************** printf("THE PHDfile get failed:");
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 wanglong
						wanglong