end
def ymd_to_time ymd_str
- return nil if ymd_str.blank?
date = nil
- begin
- date = Time.parse(ymd_str[0..3] + '/' + ymd_str[4..5] + '/' + ymd_str[6..7])
- rescue
- date = nil
+ if ymd_str.blank?
+ date = if self.received_at
+ self.received_at
+ else
+ nil
+ end
+ else
+ begin
+ date = Time.parse(ymd_str[0..3] + '/' + ymd_str[4..5] + '/' + ymd_str[6..7])
+ rescue
+ date = nil
+ end
end
date
end
end
end
- def port
- exports = export_by('export', @provider_status, params[:date])
- return nil unless exports
- ProviderStatus.import @provider_status.provider.id, exports
- end
-
- def self.import pid, exports
- res = {}
+ def import date
+ import_result = nil
ProviderStatus.transaction do
- res[:licenses] = ProviderLicense.import pid, exports['licenses']
- raise ActiveRecord::Rollback if res[:licenses].any?
- res[:artists] = ProviderArtist.import pid, exports['artists']
- raise ActiveRecord::Rollback if res[:artists].any?
- res[:original_pictures] = ProviderOriginalPicture.import pid, exports['original_pictures'], exports['pictures']
- raise ActiveRecord::Rollback if res[:original_pictures][:original_pictures].any? or res[:original_pictures][:resource_pictures].any? or res[:original_pictures][:pictures].any?
+ import_result = self.licenses_import date
+ raise ActiveRecord::Rollback unless import_result.success?
+ import_result = self.artists_import date
+ raise ActiveRecord::Rollback unless import_result.success?
+ import_result = self.original_pictures_import date
+ raise ActiveRecord::Rollback unless import_result.success?
+ self.received_at = Time.now
+ self.save
end
- res
+ import_result
end
+ def self.import_all date = nil
+ failures = {}
+ ProviderStatus.approve_list.each do |provider_status|
+ import_result = provider_status.import date
+ next if import_result.success?
+ failures[provider_status.provider.name] = import_result
+ end
+ failures.each do |name, import_result|
+ puts name
+ end
+ end
end