-
-
Save bhenry/06cdd93dadcbe68c2378 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defn move-data [q f & [db-spec]] | |
(let [conn (sql/get-connection (or db-spec wm-active)) | |
stmt (sql/prepare-statement conn q)] | |
(sql/run-over-results stmt f))) | |
(defn upsert [ent obj unique-by] | |
(if (not (empty? (select ent | |
(where (select-keys obj unique-by))))) | |
(update ent (set-fields obj) | |
(where (select-keys obj unique-by))) | |
(insert ent (values obj)))) | |
(defn update-message [ref seq msg] | |
(reset! last-message (:callnumber msg)) | |
(move-data (format details-by-message ref seq (:callnumber msg)) | |
#(upsert tmessagedetail % | |
[:referencenumber :sequencenumber :callnumber :displayorder]) | |
wm-archive) | |
(move-data (format history-by-message ref seq (:callnumber msg)) | |
#(upsert tmessagehistory % | |
[:referencenumber :sequencenumber :callnumber :datecreated]) | |
wm-archive) | |
(move-data (format comments-by-message ref seq (:callnumber msg)) | |
#(upsert tmessagecomment % | |
[:referencenumber :sequencenumber :callnumber :datecreated]) | |
wm-archive)) | |
(defn import-archive-messages [ref seq] | |
(let [continue (if @last-message | |
(str "AND callnumber >= '" @last-message "'") "")] | |
(move-data (format messages-by-practice ref seq continue) | |
(partial update-message ref seq) wm-archive))) | |
(defn import-archive-messages-by-practice [& [start-at]] | |
(move-data (format " | |
select referencenumber, sequencenumber | |
from tpractice | |
where referencenumber >= '%s' | |
order by referencenumber, sequencenumber" start-at) | |
#(move-data | |
(format " | |
select callnumber from tmessage | |
where referencenumber = '%s' and sequencenumber = '%s' | |
order by referencenumber, sequencenumber, callnumber | |
" (:referencenumber %) (:sequencenumber %)) | |
(partial update-message (:referencenumber %) (:sequencenumber %)) | |
wm-archive) | |
wm-archive)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment