summaryrefslogtreecommitdiff
path: root/server/src/journal_uploadserver.cc
diff options
context:
space:
mode:
authordeva <deva>2011-03-28 07:52:12 +0000
committerdeva <deva>2011-03-28 07:52:12 +0000
commitee1acb551b20a62be9bbb4de84d5a9f57f83908a (patch)
tree9a4a6499df2518c3425da7e3af71c12ec00562b1 /server/src/journal_uploadserver.cc
parent93de7f375842c0afb72db8796c45bfda5f1a6f13 (diff)
Split up journal commits on multiple users.
Diffstat (limited to 'server/src/journal_uploadserver.cc')
-rw-r--r--server/src/journal_uploadserver.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/server/src/journal_uploadserver.cc b/server/src/journal_uploadserver.cc
index 5557d55..8bc6e2d 100644
--- a/server/src/journal_uploadserver.cc
+++ b/server/src/journal_uploadserver.cc
@@ -163,6 +163,7 @@ JournalUploadServer::JournalUploadServer(std::string host,
void JournalUploadServer::commit()
{
std::string resume;
+ std::string olduser;
// Iterate through all resumes, and create a string containing them all.
std::map< int, ResumeEntry >::iterator i = entrylist.begin();
@@ -171,6 +172,17 @@ void JournalUploadServer::commit()
i++;
continue;
}
+
+ if(i->second.user != olduser && olduser != "" && resume != "") {
+ // Connect to praxisuploadserver and commit all resumes in one bulk.
+ journal_commit(patientID().c_str(), olduser.c_str(),
+ host.c_str(), port,
+ resume.c_str(), resume.size());
+ resume = "";
+ }
+
+ olduser = i->second.user;
+
if(resume != "") resume += "\n\n";
// resume += i->macro + "\n";
resume += stripTrailingWhitepace(addNewlines(i->second.resume, 60));
@@ -180,7 +192,7 @@ void JournalUploadServer::commit()
if(resume == "") return;
// Connect to praxisuploadserver and commit all resumes in one bulk.
- journal_commit(patientID().c_str(), user().c_str(),
+ journal_commit(patientID().c_str(), olduser.c_str(),
host.c_str(), port,
resume.c_str(), resume.size());
}