Browse Source

跟新接口

loki.wu 1 year ago
parent
commit
2489d0a794

+ 7 - 0
lib/services/connect.dart

@@ -22,6 +22,7 @@ class ConnectService extends JsonRpcClientBase {
 				) {
 		/// 注册响应实体反序列化处理器
 		FJsonConvert.setDecoder((map) => ConnectResult.fromJson(map));
+		FJsonConvert.setDecoder((map) => DeviceInfoDTO.fromJson(map));
 		FJsonConvert.setDecoder((map) => CacheDeviceDTO.fromJson(map));
 	}
 
@@ -31,6 +32,12 @@ class ConnectService extends JsonRpcClientBase {
 		return result;
 	}
 
+	Future<DeviceInfoDTO> addOldVersionDeviceAsync(AddOldVersionDeviceRequest request) async {
+		var rpcRst = await call("AddOldVersionDeviceAsync", request);
+		var result = DeviceInfoDTO.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
+	}
+
 	Future<CacheDeviceDTO> getDeviceByTokenAsync(TokenRequest request) async {
 		var rpcRst = await call("GetDeviceByTokenAsync", request);
 		var result = CacheDeviceDTO.fromJson(rpcRst as Map<String, dynamic>);

+ 52 - 0
lib/services/connect.m.dart

@@ -5,16 +5,19 @@ import 'liveConsultation.m.dart';
 class ConnectResult {
 	String? token;
 	String? uniqueCode;
+	String? deviceCode;
 
 	ConnectResult({
 		this.token,
 		this.uniqueCode,
+		this.deviceCode,
 	});
 
 	factory ConnectResult.fromJson(Map<String, dynamic> map) {
 		return ConnectResult( 
 			token: map['Token'],
 			uniqueCode: map['UniqueCode'],
+			deviceCode: map['DeviceCode'],
 		);
 	}
 
@@ -26,6 +29,9 @@ class ConnectResult {
 		if(uniqueCode != null) {
 			map['UniqueCode'] = uniqueCode;
 		}
+		if(deviceCode != null) {
+			map['DeviceCode'] = deviceCode;
+		}
 		return map;
 	}
 }
@@ -48,6 +54,7 @@ class ConnectRequest {
 	String? installVersion;
 	bool isOldPlatform;
 	String? deviceCode;
+	String? ip;
 
 	ConnectRequest({
 		this.deviceUniqueCode,
@@ -67,6 +74,7 @@ class ConnectRequest {
 		this.installVersion,
 		this.isOldPlatform = false,
 		this.deviceCode,
+		this.ip,
 	});
 
 	factory ConnectRequest.fromJson(Map<String, dynamic> map) {
@@ -88,6 +96,7 @@ class ConnectRequest {
 			installVersion: map['InstallVersion'],
 			isOldPlatform: map['IsOldPlatform'],
 			deviceCode: map['DeviceCode'],
+			ip: map['Ip'],
 		);
 	}
 
@@ -138,6 +147,49 @@ class ConnectRequest {
 		if(deviceCode != null) {
 			map['DeviceCode'] = deviceCode;
 		}
+		if(ip != null) {
+			map['Ip'] = ip;
+		}
+		return map;
+	}
+}
+
+class AddOldVersionDeviceRequest {
+	String? terminalName;
+	String? terminalModel;
+	String? terminalPassword;
+	String? organizationName;
+
+	AddOldVersionDeviceRequest({
+		this.terminalName,
+		this.terminalModel,
+		this.terminalPassword,
+		this.organizationName,
+	});
+
+	factory AddOldVersionDeviceRequest.fromJson(Map<String, dynamic> map) {
+		return AddOldVersionDeviceRequest( 
+			terminalName: map['TerminalName'],
+			terminalModel: map['TerminalModel'],
+			terminalPassword: map['TerminalPassword'],
+			organizationName: map['OrganizationName'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(terminalName != null) {
+			map['TerminalName'] = terminalName;
+		}
+		if(terminalModel != null) {
+			map['TerminalModel'] = terminalModel;
+		}
+		if(terminalPassword != null) {
+			map['TerminalPassword'] = terminalPassword;
+		}
+		if(organizationName != null) {
+			map['OrganizationName'] = organizationName;
+		}
 		return map;
 	}
 }

+ 25 - 14
lib/services/device.dart

@@ -22,6 +22,8 @@ class DeviceService extends JsonRpcClientBase {
 						timeout: timeout,
 				) {
 		/// 注册响应实体反序列化处理器
+		FJsonConvert.setDecoder((map) => ProbeApplicationSettingInfoDTO.fromJson(map));
+		FJsonConvert.setDecoder((map) => RemoteConnectsRequest.fromJson(map));
 		FJsonConvert.setDecoder((map) => DevicePrinterParameterDTO.fromJson(map));
 		FJsonConvert.setDecoder((map) => PageCollection<DeviceExtendInfoDTO>.fromJson(map));
 		FJsonConvert.setDecoder((map) => DeviceExtendInfoDTO.fromJson(map));
@@ -46,8 +48,18 @@ class DeviceService extends JsonRpcClientBase {
 		FJsonConvert.setDecoder((map) => PageResult<DevicePrinterDTO>.fromJson(map));
 		FJsonConvert.setDecoder((map) => DevicePrinterDTO.fromJson(map));
 		FJsonConvert.setDecoder((map) => DeviceConnectStateResult.fromJson(map));
-		FJsonConvert.setDecoder((map) => ProbeApplicationSettingInfoDTO.fromJson(map));
-		FJsonConvert.setDecoder((map) => RemoteConnectsRequest.fromJson(map));
+	}
+
+	Future<ProbeApplicationSettingInfoDTO> getProbeApplicationSettingAsync(GetControlParametersRequest request) async {
+		var rpcRst = await call("GetProbeApplicationSettingAsync", request);
+		var result = ProbeApplicationSettingInfoDTO.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
+	}
+
+	Future<RemoteConnectsRequest> findConnectingDeviceListAsync(GetDeviceRequest request) async {
+		var rpcRst = await call("FindConnectingDeviceListAsync", request);
+		var result = RemoteConnectsRequest.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
 	}
 
 	Future<bool> closeConnectingDeviceListAsync(GetDeviceRequest request) async {
@@ -116,6 +128,12 @@ class DeviceService extends JsonRpcClientBase {
 		return result;
 	}
 
+	Future<DeviceInfoDTO> findDeviceInfoByNameAsync(FindDeviceInfoByNameRequest request) async {
+		var rpcRst = await call("FindDeviceInfoByNameAsync", request);
+		var result = DeviceInfoDTO.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
+	}
+
 	Future<DeviceExtendInfoDTO> getDeviceByShortCodeAsync(GetDeviceByShortCodeRequest request) async {
 		var rpcRst = await call("GetDeviceByShortCodeAsync", request);
 		var result = DeviceExtendInfoDTO.fromJson(rpcRst as Map<String, dynamic>);
@@ -138,6 +156,11 @@ class DeviceService extends JsonRpcClientBase {
 		return rpcRst;
 	}
 
+	Future<bool> updateDeviceAsync(UpdateDeviceRequest request) async {
+		var rpcRst = await call("UpdateDeviceAsync", request);
+		return rpcRst;
+	}
+
 	Future<String> createDictionaryItemAsync(CreateDictionaryItemRequest request) async {
 		var rpcRst = await call("CreateDictionaryItemAsync", request);
 		return rpcRst;
@@ -543,17 +566,5 @@ class DeviceService extends JsonRpcClientBase {
 		return rpcRst;
 	}
 
-	Future<ProbeApplicationSettingInfoDTO> getProbeApplicationSettingAsync(GetControlParametersRequest request) async {
-		var rpcRst = await call("GetProbeApplicationSettingAsync", request);
-		var result = ProbeApplicationSettingInfoDTO.fromJson(rpcRst as Map<String, dynamic>);
-		return result;
-	}
-
-	Future<RemoteConnectsRequest> findConnectingDeviceListAsync(GetDeviceRequest request) async {
-		var rpcRst = await call("FindConnectingDeviceListAsync", request);
-		var result = RemoteConnectsRequest.fromJson(rpcRst as Map<String, dynamic>);
-		return result;
-	}
-
 }
 

+ 446 - 296
lib/services/device.m.dart

@@ -3,6 +3,141 @@ import 'notification.m.dart';
 
 import 'package:fis_common/json_convert.dart';
 
+class ApplicationSettingInfoDTO {
+	String? id;
+	String? name;
+	bool isPreferred;
+	bool isUserDefined;
+	bool isHidden;
+
+	ApplicationSettingInfoDTO({
+		this.id,
+		this.name,
+		this.isPreferred = false,
+		this.isUserDefined = false,
+		this.isHidden = false,
+	});
+
+	factory ApplicationSettingInfoDTO.fromJson(Map<String, dynamic> map) {
+		return ApplicationSettingInfoDTO( 
+			id: map['Id'],
+			name: map['Name'],
+			isPreferred: map['IsPreferred'],
+			isUserDefined: map['IsUserDefined'],
+			isHidden: map['IsHidden'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(id != null) {
+			map['Id'] = id;
+		}
+		if(name != null) {
+			map['Name'] = name;
+		}
+		map['IsPreferred'] = isPreferred;
+		map['IsUserDefined'] = isUserDefined;
+		map['IsHidden'] = isHidden;
+		return map;
+	}
+}
+
+class ProbeSettingInfoDTO {
+	String? name;
+	List<ApplicationSettingInfoDTO>? applications;
+
+	ProbeSettingInfoDTO({
+		this.name,
+		this.applications,
+	});
+
+	factory ProbeSettingInfoDTO.fromJson(Map<String, dynamic> map) {
+		return ProbeSettingInfoDTO( 
+			name: map['Name'],
+			applications: map['Applications'] != null ? (map['Applications'] as List).map((e)=>ApplicationSettingInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(name != null) {
+			map['Name'] = name;
+		}
+		if(applications != null) {
+			map['Applications'] = applications;
+		}
+		return map;
+	}
+}
+
+class ProbeApplicationSettingInfoDTO {
+	List<ProbeSettingInfoDTO>? probes;
+	String? activeProbe;
+	String? activeApplication;
+	int maxNumberForApplication;
+	int maxNumberForApplicationOfUserDefine;
+
+	ProbeApplicationSettingInfoDTO({
+		this.probes,
+		this.activeProbe,
+		this.activeApplication,
+		this.maxNumberForApplication = 0,
+		this.maxNumberForApplicationOfUserDefine = 0,
+	});
+
+	factory ProbeApplicationSettingInfoDTO.fromJson(Map<String, dynamic> map) {
+		return ProbeApplicationSettingInfoDTO( 
+			probes: map['Probes'] != null ? (map['Probes'] as List).map((e)=>ProbeSettingInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			activeProbe: map['ActiveProbe'],
+			activeApplication: map['ActiveApplication'],
+			maxNumberForApplication: map['MaxNumberForApplication'],
+			maxNumberForApplicationOfUserDefine: map['MaxNumberForApplicationOfUserDefine'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(probes != null) {
+			map['Probes'] = probes;
+		}
+		if(activeProbe != null) {
+			map['ActiveProbe'] = activeProbe;
+		}
+		if(activeApplication != null) {
+			map['ActiveApplication'] = activeApplication;
+		}
+		map['MaxNumberForApplication'] = maxNumberForApplication;
+		map['MaxNumberForApplicationOfUserDefine'] = maxNumberForApplicationOfUserDefine;
+		return map;
+	}
+}
+
+class GetControlParametersRequest extends TokenRequest{
+	String? deviceCode;
+
+	GetControlParametersRequest({
+		this.deviceCode,
+		String? token,
+	}) : super(
+			token: token,
+		);
+
+	factory GetControlParametersRequest.fromJson(Map<String, dynamic> map) {
+		return GetControlParametersRequest( 
+			deviceCode: map['DeviceCode'],
+			token: map['Token'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		if(deviceCode != null)
+			map['DeviceCode'] = deviceCode;
+		return map;
+	}
+}
+
 enum ConnectStatusEnum {
 	UnConnect,
 	WaitConnect,
@@ -11,6 +146,158 @@ enum ConnectStatusEnum {
 	CompleteDisconnect,
 }
 
+class UserRemoteConnectRequest {
+	TransactionTypeEnum transactionType;
+	ConnectStatusEnum statusEnum;
+	String? userToken;
+	String? deviceToken;
+	String? userCode;
+	String? roomId;
+	String? deviceCode;
+	LoginSource loginSource;
+	bool isNeedSyn;
+
+	UserRemoteConnectRequest({
+		this.transactionType = TransactionTypeEnum.Consultion,
+		this.statusEnum = ConnectStatusEnum.UnConnect,
+		this.userToken,
+		this.deviceToken,
+		this.userCode,
+		this.roomId,
+		this.deviceCode,
+		this.loginSource = LoginSource.PC,
+		this.isNeedSyn = false,
+	});
+
+	factory UserRemoteConnectRequest.fromJson(Map<String, dynamic> map) {
+		return UserRemoteConnectRequest( 
+			transactionType: TransactionTypeEnum.values.firstWhere((e) => e.index == map['TransactionType']),
+			statusEnum: ConnectStatusEnum.values.firstWhere((e) => e.index == map['StatusEnum']),
+			userToken: map['UserToken'],
+			deviceToken: map['DeviceToken'],
+			userCode: map['UserCode'],
+			roomId: map['RoomId'],
+			deviceCode: map['DeviceCode'],
+			loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']),
+			isNeedSyn: map['IsNeedSyn'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		map['TransactionType'] = transactionType.index;
+		map['StatusEnum'] = statusEnum.index;
+		if(userToken != null) {
+			map['UserToken'] = userToken;
+		}
+		if(deviceToken != null) {
+			map['DeviceToken'] = deviceToken;
+		}
+		if(userCode != null) {
+			map['UserCode'] = userCode;
+		}
+		if(roomId != null) {
+			map['RoomId'] = roomId;
+		}
+		if(deviceCode != null) {
+			map['DeviceCode'] = deviceCode;
+		}
+		map['LoginSource'] = loginSource.index;
+		map['IsNeedSyn'] = isNeedSyn;
+		return map;
+	}
+}
+
+class DeviceRemoteConnectRequest {
+	TransactionTypeEnum transactionType;
+	ConnectStatusEnum statusEnum;
+	String? userToken;
+	String? deviceToken;
+	String? userCode;
+	String? roomId;
+	String? deviceCode;
+	bool isNeedSyn;
+	LoginSource loginSource;
+
+	DeviceRemoteConnectRequest({
+		this.transactionType = TransactionTypeEnum.Consultion,
+		this.statusEnum = ConnectStatusEnum.UnConnect,
+		this.userToken,
+		this.deviceToken,
+		this.userCode,
+		this.roomId,
+		this.deviceCode,
+		this.isNeedSyn = false,
+		this.loginSource = LoginSource.PC,
+	});
+
+	factory DeviceRemoteConnectRequest.fromJson(Map<String, dynamic> map) {
+		return DeviceRemoteConnectRequest( 
+			transactionType: TransactionTypeEnum.values.firstWhere((e) => e.index == map['TransactionType']),
+			statusEnum: ConnectStatusEnum.values.firstWhere((e) => e.index == map['StatusEnum']),
+			userToken: map['UserToken'],
+			deviceToken: map['DeviceToken'],
+			userCode: map['UserCode'],
+			roomId: map['RoomId'],
+			deviceCode: map['DeviceCode'],
+			isNeedSyn: map['IsNeedSyn'],
+			loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']),
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		map['TransactionType'] = transactionType.index;
+		map['StatusEnum'] = statusEnum.index;
+		if(userToken != null) {
+			map['UserToken'] = userToken;
+		}
+		if(deviceToken != null) {
+			map['DeviceToken'] = deviceToken;
+		}
+		if(userCode != null) {
+			map['UserCode'] = userCode;
+		}
+		if(roomId != null) {
+			map['RoomId'] = roomId;
+		}
+		if(deviceCode != null) {
+			map['DeviceCode'] = deviceCode;
+		}
+		map['IsNeedSyn'] = isNeedSyn;
+		map['LoginSource'] = loginSource.index;
+		return map;
+	}
+}
+
+class RemoteConnectsRequest {
+	List<UserRemoteConnectRequest>? userRemoteConnect;
+	List<DeviceRemoteConnectRequest>? deviceRemoteConnect;
+
+	RemoteConnectsRequest({
+		this.userRemoteConnect,
+		this.deviceRemoteConnect,
+	});
+
+	factory RemoteConnectsRequest.fromJson(Map<String, dynamic> map) {
+		return RemoteConnectsRequest( 
+			userRemoteConnect: map['UserRemoteConnect'] != null ? (map['UserRemoteConnect'] as List).map((e)=>UserRemoteConnectRequest.fromJson(e as Map<String,dynamic>)).toList() : null,
+			deviceRemoteConnect: map['DeviceRemoteConnect'] != null ? (map['DeviceRemoteConnect'] as List).map((e)=>DeviceRemoteConnectRequest.fromJson(e as Map<String,dynamic>)).toList() : null,
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(userRemoteConnect != null) {
+			map['UserRemoteConnect'] = userRemoteConnect;
+		}
+		if(deviceRemoteConnect != null) {
+			map['DeviceRemoteConnect'] = deviceRemoteConnect;
+		}
+		return map;
+	}
+}
+
 class GetDeviceRequest extends TokenRequest{
 	String? deviceCode;
 	bool isNeedSyn;
@@ -363,6 +650,7 @@ class DeviceExtendInfoDTO extends DeviceInfoDTO{
 	bool isEmergencyDevice;
 	bool isCanRemoteMaintenance;
 	bool isCanRestart;
+	OrganizationPatientTypeEnum patientType;
 
 	DeviceExtendInfoDTO({
 		this.organizationName,
@@ -376,6 +664,7 @@ class DeviceExtendInfoDTO extends DeviceInfoDTO{
 		this.isEmergencyDevice = false,
 		this.isCanRemoteMaintenance = false,
 		this.isCanRestart = false,
+		this.patientType = OrganizationPatientTypeEnum.Person,
 		String? deviceCode,
 		String? serialNumber,
 		String? password,
@@ -454,6 +743,7 @@ class DeviceExtendInfoDTO extends DeviceInfoDTO{
 			isEmergencyDevice: map['IsEmergencyDevice'],
 			isCanRemoteMaintenance: map['IsCanRemoteMaintenance'],
 			isCanRestart: map['IsCanRestart'],
+			patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']),
 			deviceCode: map['DeviceCode'],
 			serialNumber: map['SerialNumber'],
 			password: map['Password'],
@@ -507,6 +797,7 @@ class DeviceExtendInfoDTO extends DeviceInfoDTO{
 		map['IsEmergencyDevice'] = isEmergencyDevice;
 		map['IsCanRemoteMaintenance'] = isCanRemoteMaintenance;
 		map['IsCanRestart'] = isCanRestart;
+		map['PatientType'] = patientType.index;
 		return map;
 	}
 }
@@ -761,6 +1052,31 @@ class CreateDeviceRequest extends UploadDeviceDTO{
 	}
 }
 
+class FindDeviceInfoByNameRequest extends TokenRequest{
+	String? name;
+
+	FindDeviceInfoByNameRequest({
+		this.name,
+		String? token,
+	}) : super(
+			token: token,
+		);
+
+	factory FindDeviceInfoByNameRequest.fromJson(Map<String, dynamic> map) {
+		return FindDeviceInfoByNameRequest( 
+			name: map['Name'],
+			token: map['Token'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		if(name != null)
+			map['Name'] = name;
+		return map;
+	}
+}
+
 class GetDeviceByShortCodeRequest extends TokenRequest{
 	String? shortCode;
 
@@ -928,6 +1244,121 @@ class ModifyDeviceRequest extends TokenRequest{
 	}
 }
 
+class UpdateDeviceRequest extends DeviceInfoDTO{
+	String? token;
+
+	UpdateDeviceRequest({
+		this.token,
+		String? deviceCode,
+		String? serialNumber,
+		String? password,
+		String? name,
+		String? description,
+		String? deviceModel,
+		String? deviceType,
+		String? headPicUrl,
+		String? deviceSoftwareVersion,
+		String? sDKSoftwareVersion,
+		String? organizationCode,
+		String? departmentCode,
+		String? shortCode,
+		bool isAutoShared = false,
+		bool isEncryptedShow = false,
+		DateTime? lastLoginTime,
+		String? systemVersion,
+		String? cPUModel,
+		String? systemLanguage,
+		List<String>? diagnosisModules,
+		List<String>? reportPosterCodes,
+		bool mergedChannel = false,
+		int mergedVideoOutputWidth = 0,
+		int mergedVideoOutputHeight = 0,
+		List<VideoDeviceDTO>? videoDeviceInfos,
+		DownloadModeSettingEnum downloadModeSetting = DownloadModeSettingEnum.Auto,
+		bool liveOpened = false,
+		bool supportRtc = false,
+		String? displayName,
+		DateTime? createTime,
+		DateTime? updateTime,
+	}) : super(
+			deviceCode: deviceCode,
+			serialNumber: serialNumber,
+			password: password,
+			name: name,
+			description: description,
+			deviceModel: deviceModel,
+			deviceType: deviceType,
+			headPicUrl: headPicUrl,
+			deviceSoftwareVersion: deviceSoftwareVersion,
+			sDKSoftwareVersion: sDKSoftwareVersion,
+			organizationCode: organizationCode,
+			departmentCode: departmentCode,
+			shortCode: shortCode,
+			isAutoShared: isAutoShared,
+			isEncryptedShow: isEncryptedShow,
+			lastLoginTime: lastLoginTime,
+			systemVersion: systemVersion,
+			cPUModel: cPUModel,
+			systemLanguage: systemLanguage,
+			diagnosisModules: diagnosisModules,
+			reportPosterCodes: reportPosterCodes,
+			mergedChannel: mergedChannel,
+			mergedVideoOutputWidth: mergedVideoOutputWidth,
+			mergedVideoOutputHeight: mergedVideoOutputHeight,
+			videoDeviceInfos: videoDeviceInfos,
+			downloadModeSetting: downloadModeSetting,
+			liveOpened: liveOpened,
+			supportRtc: supportRtc,
+			displayName: displayName,
+			createTime: createTime,
+			updateTime: updateTime,
+		);
+
+	factory UpdateDeviceRequest.fromJson(Map<String, dynamic> map) {
+		return UpdateDeviceRequest( 
+			token: map['Token'],
+			deviceCode: map['DeviceCode'],
+			serialNumber: map['SerialNumber'],
+			password: map['Password'],
+			name: map['Name'],
+			description: map['Description'],
+			deviceModel: map['DeviceModel'],
+			deviceType: map['DeviceType'],
+			headPicUrl: map['HeadPicUrl'],
+			deviceSoftwareVersion: map['DeviceSoftwareVersion'],
+			sDKSoftwareVersion: map['SDKSoftwareVersion'],
+			organizationCode: map['OrganizationCode'],
+			departmentCode: map['DepartmentCode'],
+			shortCode: map['ShortCode'],
+			isAutoShared: map['IsAutoShared'],
+			isEncryptedShow: map['IsEncryptedShow'],
+			lastLoginTime: map['LastLoginTime'] != null ? DateTime.parse(map['LastLoginTime']) : null,
+			systemVersion: map['SystemVersion'],
+			cPUModel: map['CPUModel'],
+			systemLanguage: map['SystemLanguage'],
+			diagnosisModules: map['DiagnosisModules']?.cast<String>().toList(),
+			reportPosterCodes: map['ReportPosterCodes']?.cast<String>().toList(),
+			mergedChannel: map['MergedChannel'],
+			mergedVideoOutputWidth: map['MergedVideoOutputWidth'],
+			mergedVideoOutputHeight: map['MergedVideoOutputHeight'],
+			videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			downloadModeSetting: DownloadModeSettingEnum.values.firstWhere((e) => e.index == map['DownloadModeSetting']),
+			liveOpened: map['LiveOpened'],
+			supportRtc: map['SupportRtc'],
+			displayName: map['DisplayName'],
+			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
+			updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		if(token != null)
+			map['Token'] = token;
+		return map;
+	}
+}
+
 enum DictionaryTypeEnum {
 	DeviceModel,
 	DeviceType,
@@ -1242,6 +1673,7 @@ class DeviceServerSettingResult {
 	int remoteControlAskTimeoutSec;
 	String? liveProtocol;
 	TransactionStatusEnum liveProtocolType;
+	String? fISWebUrl;
 
 	DeviceServerSettingResult({
 		this.serverConfigList,
@@ -1257,6 +1689,7 @@ class DeviceServerSettingResult {
 		this.remoteControlAskTimeoutSec = 0,
 		this.liveProtocol,
 		this.liveProtocolType = TransactionStatusEnum.Applied,
+		this.fISWebUrl,
 	});
 
 	factory DeviceServerSettingResult.fromJson(Map<String, dynamic> map) {
@@ -1274,6 +1707,7 @@ class DeviceServerSettingResult {
 			remoteControlAskTimeoutSec: map['RemoteControlAskTimeoutSec'],
 			liveProtocol: map['LiveProtocol'],
 			liveProtocolType: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocolType']),
+			fISWebUrl: map['FISWebUrl'],
 		);
 	}
 
@@ -1298,6 +1732,9 @@ class DeviceServerSettingResult {
 			map['LiveProtocol'] = liveProtocol;
 		}
 		map['LiveProtocolType'] = liveProtocolType.index;
+		if(fISWebUrl != null) {
+			map['FISWebUrl'] = fISWebUrl;
+		}
 		return map;
 	}
 }
@@ -1527,55 +1964,15 @@ class ReportVideoDeviceInfoRequest extends TokenRequest{
 		);
 	}
 
-	Map<String, dynamic> toJson() {
-		final map = super.toJson();
-		map['LiveOpened'] = liveOpened;
-		map['SupportRtc'] = supportRtc;
-		map['MergedChannel'] = mergedChannel;
-		map['RemoteControlOpened'] = remoteControlOpened;
-		if(videoDeviceInfos != null)
-			map['VideoDeviceInfos'] = videoDeviceInfos;
-		map['IsSync'] = isSync;
-		return map;
-	}
-}
-
-class ApplicationSettingInfoDTO {
-	String? id;
-	String? name;
-	bool isPreferred;
-	bool isUserDefined;
-	bool isHidden;
-
-	ApplicationSettingInfoDTO({
-		this.id,
-		this.name,
-		this.isPreferred = false,
-		this.isUserDefined = false,
-		this.isHidden = false,
-	});
-
-	factory ApplicationSettingInfoDTO.fromJson(Map<String, dynamic> map) {
-		return ApplicationSettingInfoDTO( 
-			id: map['Id'],
-			name: map['Name'],
-			isPreferred: map['IsPreferred'],
-			isUserDefined: map['IsUserDefined'],
-			isHidden: map['IsHidden'],
-		);
-	}
-
-	Map<String, dynamic> toJson() {
-		final map = Map<String, dynamic>();
-		if(id != null) {
-			map['Id'] = id;
-		}
-		if(name != null) {
-			map['Name'] = name;
-		}
-		map['IsPreferred'] = isPreferred;
-		map['IsUserDefined'] = isUserDefined;
-		map['IsHidden'] = isHidden;
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		map['LiveOpened'] = liveOpened;
+		map['SupportRtc'] = supportRtc;
+		map['MergedChannel'] = mergedChannel;
+		map['RemoteControlOpened'] = remoteControlOpened;
+		if(videoDeviceInfos != null)
+			map['VideoDeviceInfos'] = videoDeviceInfos;
+		map['IsSync'] = isSync;
 		return map;
 	}
 }
@@ -2323,31 +2720,6 @@ class DeviceControlParameterDataDTO {
 	}
 }
 
-class GetControlParametersRequest extends TokenRequest{
-	String? deviceCode;
-
-	GetControlParametersRequest({
-		this.deviceCode,
-		String? token,
-	}) : super(
-			token: token,
-		);
-
-	factory GetControlParametersRequest.fromJson(Map<String, dynamic> map) {
-		return GetControlParametersRequest( 
-			deviceCode: map['DeviceCode'],
-			token: map['Token'],
-		);
-	}
-
-	Map<String, dynamic> toJson() {
-		final map = super.toJson();
-		if(deviceCode != null)
-			map['DeviceCode'] = deviceCode;
-		return map;
-	}
-}
-
 class ControlDeviceConnectRequest extends BaseControlDeviceRequest{
 	String? deviceCode;
 	String? roomCode;
@@ -3749,76 +4121,6 @@ class DeivceCancelLogDownloadRequest extends TokenRequest{
 	}
 }
 
-class ProbeSettingInfoDTO {
-	String? name;
-	List<ApplicationSettingInfoDTO>? applications;
-
-	ProbeSettingInfoDTO({
-		this.name,
-		this.applications,
-	});
-
-	factory ProbeSettingInfoDTO.fromJson(Map<String, dynamic> map) {
-		return ProbeSettingInfoDTO( 
-			name: map['Name'],
-			applications: map['Applications'] != null ? (map['Applications'] as List).map((e)=>ApplicationSettingInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
-		);
-	}
-
-	Map<String, dynamic> toJson() {
-		final map = Map<String, dynamic>();
-		if(name != null) {
-			map['Name'] = name;
-		}
-		if(applications != null) {
-			map['Applications'] = applications;
-		}
-		return map;
-	}
-}
-
-class ProbeApplicationSettingInfoDTO {
-	List<ProbeSettingInfoDTO>? probes;
-	String? activeProbe;
-	String? activeApplication;
-	int maxNumberForApplication;
-	int maxNumberForApplicationOfUserDefine;
-
-	ProbeApplicationSettingInfoDTO({
-		this.probes,
-		this.activeProbe,
-		this.activeApplication,
-		this.maxNumberForApplication = 0,
-		this.maxNumberForApplicationOfUserDefine = 0,
-	});
-
-	factory ProbeApplicationSettingInfoDTO.fromJson(Map<String, dynamic> map) {
-		return ProbeApplicationSettingInfoDTO( 
-			probes: map['Probes'] != null ? (map['Probes'] as List).map((e)=>ProbeSettingInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
-			activeProbe: map['ActiveProbe'],
-			activeApplication: map['ActiveApplication'],
-			maxNumberForApplication: map['MaxNumberForApplication'],
-			maxNumberForApplicationOfUserDefine: map['MaxNumberForApplicationOfUserDefine'],
-		);
-	}
-
-	Map<String, dynamic> toJson() {
-		final map = Map<String, dynamic>();
-		if(probes != null) {
-			map['Probes'] = probes;
-		}
-		if(activeProbe != null) {
-			map['ActiveProbe'] = activeProbe;
-		}
-		if(activeApplication != null) {
-			map['ActiveApplication'] = activeApplication;
-		}
-		map['MaxNumberForApplication'] = maxNumberForApplication;
-		map['MaxNumberForApplicationOfUserDefine'] = maxNumberForApplicationOfUserDefine;
-		return map;
-	}
-}
-
 class ProbeApplicationSettingRequest extends TokenRequest{
 	String? deviceCode;
 	ProbeApplicationSettingInfoDTO? probeApplicationSetting;
@@ -3887,156 +4189,4 @@ class ProbeApplicationSettingResultRequest extends TokenRequest{
 	}
 }
 
-class UserRemoteConnectRequest {
-	TransactionTypeEnum transactionType;
-	ConnectStatusEnum statusEnum;
-	String? userToken;
-	String? deviceToken;
-	String? userCode;
-	String? roomId;
-	String? deviceCode;
-	LoginSource loginSource;
-	bool isNeedSyn;
-
-	UserRemoteConnectRequest({
-		this.transactionType = TransactionTypeEnum.Consultion,
-		this.statusEnum = ConnectStatusEnum.UnConnect,
-		this.userToken,
-		this.deviceToken,
-		this.userCode,
-		this.roomId,
-		this.deviceCode,
-		this.loginSource = LoginSource.PC,
-		this.isNeedSyn = false,
-	});
-
-	factory UserRemoteConnectRequest.fromJson(Map<String, dynamic> map) {
-		return UserRemoteConnectRequest( 
-			transactionType: TransactionTypeEnum.values.firstWhere((e) => e.index == map['TransactionType']),
-			statusEnum: ConnectStatusEnum.values.firstWhere((e) => e.index == map['StatusEnum']),
-			userToken: map['UserToken'],
-			deviceToken: map['DeviceToken'],
-			userCode: map['UserCode'],
-			roomId: map['RoomId'],
-			deviceCode: map['DeviceCode'],
-			loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']),
-			isNeedSyn: map['IsNeedSyn'],
-		);
-	}
-
-	Map<String, dynamic> toJson() {
-		final map = Map<String, dynamic>();
-		map['TransactionType'] = transactionType.index;
-		map['StatusEnum'] = statusEnum.index;
-		if(userToken != null) {
-			map['UserToken'] = userToken;
-		}
-		if(deviceToken != null) {
-			map['DeviceToken'] = deviceToken;
-		}
-		if(userCode != null) {
-			map['UserCode'] = userCode;
-		}
-		if(roomId != null) {
-			map['RoomId'] = roomId;
-		}
-		if(deviceCode != null) {
-			map['DeviceCode'] = deviceCode;
-		}
-		map['LoginSource'] = loginSource.index;
-		map['IsNeedSyn'] = isNeedSyn;
-		return map;
-	}
-}
-
-class DeviceRemoteConnectRequest {
-	TransactionTypeEnum transactionType;
-	ConnectStatusEnum statusEnum;
-	String? userToken;
-	String? deviceToken;
-	String? userCode;
-	String? roomId;
-	String? deviceCode;
-	bool isNeedSyn;
-	LoginSource loginSource;
-
-	DeviceRemoteConnectRequest({
-		this.transactionType = TransactionTypeEnum.Consultion,
-		this.statusEnum = ConnectStatusEnum.UnConnect,
-		this.userToken,
-		this.deviceToken,
-		this.userCode,
-		this.roomId,
-		this.deviceCode,
-		this.isNeedSyn = false,
-		this.loginSource = LoginSource.PC,
-	});
-
-	factory DeviceRemoteConnectRequest.fromJson(Map<String, dynamic> map) {
-		return DeviceRemoteConnectRequest( 
-			transactionType: TransactionTypeEnum.values.firstWhere((e) => e.index == map['TransactionType']),
-			statusEnum: ConnectStatusEnum.values.firstWhere((e) => e.index == map['StatusEnum']),
-			userToken: map['UserToken'],
-			deviceToken: map['DeviceToken'],
-			userCode: map['UserCode'],
-			roomId: map['RoomId'],
-			deviceCode: map['DeviceCode'],
-			isNeedSyn: map['IsNeedSyn'],
-			loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']),
-		);
-	}
-
-	Map<String, dynamic> toJson() {
-		final map = Map<String, dynamic>();
-		map['TransactionType'] = transactionType.index;
-		map['StatusEnum'] = statusEnum.index;
-		if(userToken != null) {
-			map['UserToken'] = userToken;
-		}
-		if(deviceToken != null) {
-			map['DeviceToken'] = deviceToken;
-		}
-		if(userCode != null) {
-			map['UserCode'] = userCode;
-		}
-		if(roomId != null) {
-			map['RoomId'] = roomId;
-		}
-		if(deviceCode != null) {
-			map['DeviceCode'] = deviceCode;
-		}
-		map['IsNeedSyn'] = isNeedSyn;
-		map['LoginSource'] = loginSource.index;
-		return map;
-	}
-}
-
-class RemoteConnectsRequest {
-	List<UserRemoteConnectRequest>? userRemoteConnect;
-	List<DeviceRemoteConnectRequest>? deviceRemoteConnect;
-
-	RemoteConnectsRequest({
-		this.userRemoteConnect,
-		this.deviceRemoteConnect,
-	});
-
-	factory RemoteConnectsRequest.fromJson(Map<String, dynamic> map) {
-		return RemoteConnectsRequest( 
-			userRemoteConnect: map['UserRemoteConnect'] != null ? (map['UserRemoteConnect'] as List).map((e)=>UserRemoteConnectRequest.fromJson(e as Map<String,dynamic>)).toList() : null,
-			deviceRemoteConnect: map['DeviceRemoteConnect'] != null ? (map['DeviceRemoteConnect'] as List).map((e)=>DeviceRemoteConnectRequest.fromJson(e as Map<String,dynamic>)).toList() : null,
-		);
-	}
-
-	Map<String, dynamic> toJson() {
-		final map = Map<String, dynamic>();
-		if(userRemoteConnect != null) {
-			map['UserRemoteConnect'] = userRemoteConnect;
-		}
-		if(deviceRemoteConnect != null) {
-			map['DeviceRemoteConnect'] = deviceRemoteConnect;
-		}
-		return map;
-	}
-}
-
 

+ 5 - 0
lib/services/liveConsultation.m.dart

@@ -7,10 +7,12 @@ import 'package:fis_common/json_convert.dart';
 class OrganizationBaseDTO extends BaseDTO{
 	String? organizationCode;
 	String? organizationName;
+	String? shortCode;
 
 	OrganizationBaseDTO({
 		this.organizationCode,
 		this.organizationName,
+		this.shortCode,
 		DateTime? createTime,
 		DateTime? updateTime,
 	}) : super(
@@ -22,6 +24,7 @@ class OrganizationBaseDTO extends BaseDTO{
 		return OrganizationBaseDTO( 
 			organizationCode: map['OrganizationCode'],
 			organizationName: map['OrganizationName'],
+			shortCode: map['ShortCode'],
 			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
 			updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
 		);
@@ -33,6 +36,8 @@ class OrganizationBaseDTO extends BaseDTO{
 			map['OrganizationCode'] = organizationCode;
 		if(organizationName != null)
 			map['OrganizationName'] = organizationName;
+		if(shortCode != null)
+			map['ShortCode'] = shortCode;
 		return map;
 	}
 }

+ 6 - 0
lib/services/organization.dart

@@ -120,5 +120,11 @@ class OrganizationService extends JsonRpcClientBase {
 		return result;
 	}
 
+	Future<OrganizationDTO> queryOrganizationsByShortCodeAsync(QueryOrganizationsRequest request) async {
+		var rpcRst = await call("QueryOrganizationsByShortCodeAsync", request);
+		var result = OrganizationDTO.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
+	}
+
 }
 

+ 37 - 0
lib/services/organization.m.dart

@@ -109,11 +109,13 @@ class OrganizationBasicDTO extends OrganizationBaseDTO{
 		this.referralOrganizations,
 		String? organizationCode,
 		String? organizationName,
+		String? shortCode,
 		DateTime? createTime,
 		DateTime? updateTime,
 	}) : super(
 			organizationCode: organizationCode,
 			organizationName: organizationName,
+			shortCode: shortCode,
 			createTime: createTime,
 			updateTime: updateTime,
 		);
@@ -133,6 +135,7 @@ class OrganizationBasicDTO extends OrganizationBaseDTO{
 			referralOrganizations: map['ReferralOrganizations'] != null ? (map['ReferralOrganizations'] as List).map((e)=>ReferralOrganizationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
 			organizationCode: map['OrganizationCode'],
 			organizationName: map['OrganizationName'],
+			shortCode: map['ShortCode'],
 			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
 			updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
 		);
@@ -220,6 +223,7 @@ class OrganizationDTO extends OrganizationBasicDTO{
 		List<ReferralOrganizationDTO>? referralOrganizations,
 		String? organizationCode,
 		String? organizationName,
+		String? shortCode,
 		DateTime? createTime,
 		DateTime? updateTime,
 	}) : super(
@@ -236,6 +240,7 @@ class OrganizationDTO extends OrganizationBasicDTO{
 			referralOrganizations: referralOrganizations,
 			organizationCode: organizationCode,
 			organizationName: organizationName,
+			shortCode: shortCode,
 			createTime: createTime,
 			updateTime: updateTime,
 		);
@@ -270,6 +275,7 @@ class OrganizationDTO extends OrganizationBasicDTO{
 			referralOrganizations: map['ReferralOrganizations'] != null ? (map['ReferralOrganizations'] as List).map((e)=>ReferralOrganizationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
 			organizationCode: map['OrganizationCode'],
 			organizationName: map['OrganizationName'],
+			shortCode: map['ShortCode'],
 			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
 			updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
 		);
@@ -963,16 +969,19 @@ class LangugeDataRequest extends TokenRequest{
 class OrganizationSimplifyDTO {
 	String? organizationCode;
 	String? organizationName;
+	String? shortCode;
 
 	OrganizationSimplifyDTO({
 		this.organizationCode,
 		this.organizationName,
+		this.shortCode,
 	});
 
 	factory OrganizationSimplifyDTO.fromJson(Map<String, dynamic> map) {
 		return OrganizationSimplifyDTO( 
 			organizationCode: map['OrganizationCode'],
 			organizationName: map['OrganizationName'],
+			shortCode: map['ShortCode'],
 		);
 	}
 
@@ -984,6 +993,9 @@ class OrganizationSimplifyDTO {
 		if(organizationName != null) {
 			map['OrganizationName'] = organizationName;
 		}
+		if(shortCode != null) {
+			map['ShortCode'] = shortCode;
+		}
 		return map;
 	}
 }
@@ -1027,4 +1039,29 @@ class GetOrganizationByUserAndDevicesRequest extends PageRequest{
 	}
 }
 
+class QueryOrganizationsRequest extends TokenRequest{
+	String? shortCode;
+
+	QueryOrganizationsRequest({
+		this.shortCode,
+		String? token,
+	}) : super(
+			token: token,
+		);
+
+	factory QueryOrganizationsRequest.fromJson(Map<String, dynamic> map) {
+		return QueryOrganizationsRequest( 
+			shortCode: map['ShortCode'],
+			token: map['Token'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		if(shortCode != null)
+			map['ShortCode'] = shortCode;
+		return map;
+	}
+}
+
 

+ 86 - 12
lib/services/other.m.dart

@@ -1877,6 +1877,28 @@ class CreateShareCodeRequest {
 	}
 }
 
+class DeleteDeviceRequest {
+	String? deviceCode;
+
+	DeleteDeviceRequest({
+		this.deviceCode,
+	});
+
+	factory DeleteDeviceRequest.fromJson(Map<String, dynamic> map) {
+		return DeleteDeviceRequest( 
+			deviceCode: map['DeviceCode'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(deviceCode != null) {
+			map['DeviceCode'] = deviceCode;
+		}
+		return map;
+	}
+}
+
 class DeviceDiagnosisChangedNotification extends TokenRequest{
 	String? diagnosisModule;
 	String? organizationCode;
@@ -2090,6 +2112,45 @@ class TransportAfterSalesCommonRequest {
 	}
 }
 
+class CheckUserAuthRequest extends TokenRequest{
+	String? signature;
+	OrganizationPatientTypeEnum patientType;
+	String? userName;
+	String? organizationCode;
+
+	CheckUserAuthRequest({
+		this.signature,
+		this.patientType = OrganizationPatientTypeEnum.Person,
+		this.userName,
+		this.organizationCode,
+		String? token,
+	}) : super(
+			token: token,
+		);
+
+	factory CheckUserAuthRequest.fromJson(Map<String, dynamic> map) {
+		return CheckUserAuthRequest( 
+			signature: map['Signature'],
+			patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']),
+			userName: map['UserName'],
+			organizationCode: map['OrganizationCode'],
+			token: map['Token'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		if(signature != null)
+			map['Signature'] = signature;
+		map['PatientType'] = patientType.index;
+		if(userName != null)
+			map['UserName'] = userName;
+		if(organizationCode != null)
+			map['OrganizationCode'] = organizationCode;
+		return map;
+	}
+}
+
 class ConfirmAssociatedWithAccountRequest extends TokenRequest{
 	String? emailAddress;
 	String? verifyCode;
@@ -4012,6 +4073,7 @@ class OrganizationMigratoryInfo extends OrganizationDTO{
 		List<ReferralOrganizationDTO>? referralOrganizations,
 		String? organizationCode,
 		String? organizationName,
+		String? shortCode,
 		DateTime? createTime,
 		DateTime? updateTime,
 	}) : super(
@@ -4043,6 +4105,7 @@ class OrganizationMigratoryInfo extends OrganizationDTO{
 			referralOrganizations: referralOrganizations,
 			organizationCode: organizationCode,
 			organizationName: organizationName,
+			shortCode: shortCode,
 			createTime: createTime,
 			updateTime: updateTime,
 		);
@@ -4082,6 +4145,7 @@ class OrganizationMigratoryInfo extends OrganizationDTO{
 			referralOrganizations: map['ReferralOrganizations'] != null ? (map['ReferralOrganizations'] as List).map((e)=>ReferralOrganizationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
 			organizationCode: map['OrganizationCode'],
 			organizationName: map['OrganizationName'],
+			shortCode: map['ShortCode'],
 			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
 			updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
 		);
@@ -4808,18 +4872,18 @@ class DeleteAdminRoleRequest extends TokenRequest{
 	}
 }
 
-class DeleteDeviceRequest extends TokenRequest{
+class DeleteDeviceRequest2 extends TokenRequest{
 	String? deviceCode;
 
-	DeleteDeviceRequest({
+	DeleteDeviceRequest2({
 		this.deviceCode,
 		String? token,
 	}) : super(
 			token: token,
 		);
 
-	factory DeleteDeviceRequest.fromJson(Map<String, dynamic> map) {
-		return DeleteDeviceRequest( 
+	factory DeleteDeviceRequest2.fromJson(Map<String, dynamic> map) {
+		return DeleteDeviceRequest2( 
 			deviceCode: map['DeviceCode'],
 			token: map['Token'],
 		);
@@ -8054,6 +8118,7 @@ class ModifyOrganizationRequest extends OrganizationDTO{
 		List<ReferralOrganizationDTO>? referralOrganizations,
 		String? organizationCode,
 		String? organizationName,
+		String? shortCode,
 		DateTime? createTime,
 		DateTime? updateTime,
 	}) : super(
@@ -8085,6 +8150,7 @@ class ModifyOrganizationRequest extends OrganizationDTO{
 			referralOrganizations: referralOrganizations,
 			organizationCode: organizationCode,
 			organizationName: organizationName,
+			shortCode: shortCode,
 			createTime: createTime,
 			updateTime: updateTime,
 		);
@@ -8120,6 +8186,7 @@ class ModifyOrganizationRequest extends OrganizationDTO{
 			referralOrganizations: map['ReferralOrganizations'] != null ? (map['ReferralOrganizations'] as List).map((e)=>ReferralOrganizationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
 			organizationCode: map['OrganizationCode'],
 			organizationName: map['OrganizationName'],
+			shortCode: map['ShortCode'],
 			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
 			updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
 		);
@@ -16579,25 +16646,25 @@ class AdminLoginResult {
 }
 
 class WaitDeleteLogBaseDTO {
-	int daysAgoList;
-	int waitDeleteLogCount;
+	int daysAgo;
+	int percentage;
 
 	WaitDeleteLogBaseDTO({
-		this.daysAgoList = 0,
-		this.waitDeleteLogCount = 0,
+		this.daysAgo = 0,
+		this.percentage = 0,
 	});
 
 	factory WaitDeleteLogBaseDTO.fromJson(Map<String, dynamic> map) {
 		return WaitDeleteLogBaseDTO( 
-			daysAgoList: map['DaysAgoList'],
-			waitDeleteLogCount: map['WaitDeleteLogCount'],
+			daysAgo: map['DaysAgo'],
+			percentage: map['Percentage'],
 		);
 	}
 
 	Map<String, dynamic> toJson() {
 		final map = Map<String, dynamic>();
-		map['DaysAgoList'] = daysAgoList;
-		map['WaitDeleteLogCount'] = waitDeleteLogCount;
+		map['DaysAgo'] = daysAgo;
+		map['Percentage'] = percentage;
 		return map;
 	}
 }
@@ -16605,6 +16672,7 @@ class WaitDeleteLogBaseDTO {
 class WaitDeleteLogsDTO {
 	List<WaitDeleteLogBaseDTO>? waitDeleteLogs;
 	int daysAgo;
+	bool isLockClear;
 	String? requestServerHost;
 	DateTime? lastClearTime;
 	DateTime? lastClearOperateTime;
@@ -16612,6 +16680,7 @@ class WaitDeleteLogsDTO {
 	WaitDeleteLogsDTO({
 		this.waitDeleteLogs,
 		this.daysAgo = 0,
+		this.isLockClear = false,
 		this.requestServerHost,
 		this.lastClearTime,
 		this.lastClearOperateTime,
@@ -16621,6 +16690,7 @@ class WaitDeleteLogsDTO {
 		return WaitDeleteLogsDTO( 
 			waitDeleteLogs: map['WaitDeleteLogs'] != null ? (map['WaitDeleteLogs'] as List).map((e)=>WaitDeleteLogBaseDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
 			daysAgo: map['DaysAgo'],
+			isLockClear: map['IsLockClear'],
 			requestServerHost: map['RequestServerHost'],
 			lastClearTime: map['LastClearTime'] != null ? DateTime.parse(map['LastClearTime']) : null,
 			lastClearOperateTime: map['LastClearOperateTime'] != null ? DateTime.parse(map['LastClearOperateTime']) : null,
@@ -16633,6 +16703,7 @@ class WaitDeleteLogsDTO {
 			map['WaitDeleteLogs'] = waitDeleteLogs;
 		}
 		map['DaysAgo'] = daysAgo;
+		map['IsLockClear'] = isLockClear;
 		if(requestServerHost != null) {
 			map['RequestServerHost'] = requestServerHost;
 		}
@@ -17105,6 +17176,7 @@ class ManageOrganizationDTO extends OrganizationDTO{
 		List<ReferralOrganizationDTO>? referralOrganizations,
 		String? organizationCode,
 		String? organizationName,
+		String? shortCode,
 		DateTime? createTime,
 		DateTime? updateTime,
 	}) : super(
@@ -17136,6 +17208,7 @@ class ManageOrganizationDTO extends OrganizationDTO{
 			referralOrganizations: referralOrganizations,
 			organizationCode: organizationCode,
 			organizationName: organizationName,
+			shortCode: shortCode,
 			createTime: createTime,
 			updateTime: updateTime,
 		);
@@ -17178,6 +17251,7 @@ class ManageOrganizationDTO extends OrganizationDTO{
 			referralOrganizations: map['ReferralOrganizations'] != null ? (map['ReferralOrganizations'] as List).map((e)=>ReferralOrganizationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
 			organizationCode: map['OrganizationCode'],
 			organizationName: map['OrganizationName'],
+			shortCode: map['ShortCode'],
 			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
 			updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
 		);

+ 7 - 0
lib/services/remedical.dart

@@ -25,6 +25,7 @@ class RemedicalService extends JsonRpcClientBase {
 				) {
 		/// 注册响应实体反序列化处理器
 		FJsonConvert.setDecoder((map) => CreateExaminfoResult.fromJson(map));
+		FJsonConvert.setDecoder((map) => UploadExamDataForOldVersionResult.fromJson(map));
 		FJsonConvert.setDecoder((map) => RemedicalInfoDTO.fromJson(map));
 		FJsonConvert.setDecoder((map) => RemedicalListResult.fromJson(map));
 		FJsonConvert.setDecoder((map) => PageResult<RemedicalListResult>.fromJson(map));
@@ -56,6 +57,12 @@ class RemedicalService extends JsonRpcClientBase {
 		return result;
 	}
 
+	Future<UploadExamDataForOldVersionResult> uploadExamDataForOldVersionAsync(UploadExamDataRequest request) async {
+		var rpcRst = await call("UploadExamDataForOldVersionAsync", request);
+		var result = UploadExamDataForOldVersionResult.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
+	}
+
 	Future<bool> uploadExamDataAsync(UploadExamDataRequest request) async {
 		var rpcRst = await call("UploadExamDataAsync", request);
 		return rpcRst;

+ 40 - 0
lib/services/remedical.m.dart

@@ -10,14 +10,17 @@ import 'package:fis_jsonrpc/utils.dart';
 
 class CreateExaminfoResult {
 	String? examCode;
+	DateTime? createTime;
 
 	CreateExaminfoResult({
 		this.examCode,
+		this.createTime,
 	});
 
 	factory CreateExaminfoResult.fromJson(Map<String, dynamic> map) {
 		return CreateExaminfoResult( 
 			examCode: map['ExamCode'],
+			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
 		);
 	}
 
@@ -26,6 +29,9 @@ class CreateExaminfoResult {
 		if(examCode != null) {
 			map['ExamCode'] = examCode;
 		}
+		if(createTime != null) {
+			map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
+		}
 		return map;
 	}
 }
@@ -89,6 +95,34 @@ class CreateExaminfoRequest extends TokenRequest{
 	}
 }
 
+class UploadExamDataForOldVersionResult {
+	String? remedicalCode;
+	DateTime? remedicalCreateTime;
+
+	UploadExamDataForOldVersionResult({
+		this.remedicalCode,
+		this.remedicalCreateTime,
+	});
+
+	factory UploadExamDataForOldVersionResult.fromJson(Map<String, dynamic> map) {
+		return UploadExamDataForOldVersionResult( 
+			remedicalCode: map['RemedicalCode'],
+			remedicalCreateTime: map['RemedicalCreateTime'] != null ? DateTime.parse(map['RemedicalCreateTime']) : null,
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(remedicalCode != null) {
+			map['RemedicalCode'] = remedicalCode;
+		}
+		if(remedicalCreateTime != null) {
+			map['RemedicalCreateTime'] = JsonRpcUtils.dateFormat(remedicalCreateTime!);
+		}
+		return map;
+	}
+}
+
 class UploadExamDataRequest extends TokenRequest{
 	String? examCode;
 	String? previewFileToken;
@@ -510,6 +544,7 @@ class QueryExamInfoResult {
 	String? customDoctor;
 	String? customOrganzation;
 	String? equipmentSN;
+	String? deviceCode;
 
 	QueryExamInfoResult({
 		this.examCode,
@@ -526,6 +561,7 @@ class QueryExamInfoResult {
 		this.customDoctor,
 		this.customOrganzation,
 		this.equipmentSN,
+		this.deviceCode,
 	});
 
 	factory QueryExamInfoResult.fromJson(Map<String, dynamic> map) {
@@ -544,6 +580,7 @@ class QueryExamInfoResult {
 			customDoctor: map['CustomDoctor'],
 			customOrganzation: map['CustomOrganzation'],
 			equipmentSN: map['EquipmentSN'],
+			deviceCode: map['DeviceCode'],
 		);
 	}
 
@@ -589,6 +626,9 @@ class QueryExamInfoResult {
 		if(equipmentSN != null) {
 			map['EquipmentSN'] = equipmentSN;
 		}
+		if(deviceCode != null) {
+			map['DeviceCode'] = deviceCode;
+		}
 		return map;
 	}
 }

+ 4 - 0
lib/services/report.m.dart

@@ -786,10 +786,12 @@ class RemoveReportTemplateRequest extends TokenRequest{
 class AddThesaurusRequest extends TokenRequest{
 	String? thesaurusName;
 	String? languageCode;
+	OrganizationPatientTypeEnum patientType;
 
 	AddThesaurusRequest({
 		this.thesaurusName,
 		this.languageCode,
+		this.patientType = OrganizationPatientTypeEnum.Person,
 		String? token,
 	}) : super(
 			token: token,
@@ -799,6 +801,7 @@ class AddThesaurusRequest extends TokenRequest{
 		return AddThesaurusRequest( 
 			thesaurusName: map['ThesaurusName'],
 			languageCode: map['LanguageCode'],
+			patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']),
 			token: map['Token'],
 		);
 	}
@@ -809,6 +812,7 @@ class AddThesaurusRequest extends TokenRequest{
 			map['ThesaurusName'] = thesaurusName;
 		if(languageCode != null)
 			map['LanguageCode'] = languageCode;
+		map['PatientType'] = patientType.index;
 		return map;
 	}
 }