李丹 毛越 邵秀麗 李耀芳
1 天士力制藥集團股份有限公司 天津 300410
2 南開大學信息技術科學學院 天津 300071
3 天津城市建設大學計算機與信息工程學院 天津 300384
本文對實際的業務流程進行了細致的分析,設計實現的生產過程質量管理系統主要包括質量檢測常規模塊、留取樣管理、不合格品管理、穩定性考察、質量信息匯總、藥品檢驗標準管理等功能模塊。還就設計和實現過程的動態生成可變表單和多層狀態位變更問題進行了分析,解決了大量可變冗雜數據的動態表單生成,實現了數據信息表單的較好呈現。
首先分析實際生產過程中存在的質量檢驗工作的環節點。常規檢驗各個階段的數據流向、具體的使用人員以及其和數據庫交互的環節,一旦前驅工作節點的質量檢測合格,才能順利地進入其后驅工作節點進行相應的業務處理工作;如果某環節的檢測對象不符合相應的檢驗標準則視為不合格品,就需采取相應的解決措施。
在分析質量檢測和查詢系統的實際業務的需求基礎上確定了本文系統具有七個主要的功能模塊:常規檢驗管理、留樣管理、不合格品管理、穩定性考察、標準管理及維護、綜合查詢及臺賬、系統維護管理中心。
(1) 常規檢驗模塊:常規檢驗模塊是整個質量檢測系統的核心功能模塊,用戶通過該模塊實現對檢品的質量檢驗的信息記錄和審核,以及查詢使用這些信息,該模塊又劃分為包括請驗、請驗審核、打印送檢、接檢、檢驗,檢驗審核,以及生成報告書等功能。
(2) 留樣管理模塊:該模塊實現對每種藥品的成品進行留樣、取樣的登記,根據記錄的信息生成相應的留樣臺賬。因此,設置了留樣登記、取樣登記、留樣查詢等功能。
(3) 不合格品管理模塊:該模塊實現對不合格藥品進行登記、處理,根據記錄信息生成相應的不合格品臺賬。
(4) 穩定性考察模塊:該模塊是企業對藥品質量穩定性保障的一個考察,需要對每種藥品的成品穩定性進行考察。
(5) 標準管理模塊:該模塊是企業對藥品檢驗過程中需要使用的對照標準進行定義和維護的功能模塊,它是質量檢測系統檢驗工作的靈魂。該模塊用戶可以靈活定義各種標準,對每個產品的每個工序定義不同的檢驗標準,同一時間對于一個工序只有一個標準是生效的,執行這些功能的人員應該都是特定的人員。
在定義標準結束后,該標準還處于待使用情況,用戶可以提交并激活標準來更替標準。其中,需要注意的是在激活標準前需要首先對標準細項的順序進行排序才能執行。最終便得到了可運行的標準。
(6) 綜合查詢及臺賬模塊:該模塊是對質量檢測系統中主要臺賬的集中展示和顯示。用戶可以通過該模塊訪問如下臺賬:檢驗臺賬,留樣臺賬,穩定性臺賬,微生物臺賬,不合格品臺賬。
(7) 系統維護管理中心模塊:該模塊是實現管理系統日常業務和保持系統穩定的工作。主要維護系統所需的數據字典維護、權限的維護、用戶的管理、個人信息維護、數據庫備份和還原。
在系統設計開發中遇到了一些難點問題,例如針對如何基于檢驗數據的動態生成不同格式要求的報表,本文解決的辦法是靈活配置表頭,運用匹配算法逐項定位數據從而呈現最終報表;針對系統狀態的多層轉化和變更并需要進行信息提醒的問題進行闡述,運用多字段標記結合控制并精確描述其所處狀態層次情況,完成狀態轉換。
通過樹形結構存儲有關藥品質量檢驗的標準信息,維護了標準之間的網狀關系,進行檢驗時可自動調用標準的調用關系,標準的制定是質量系統中最重要的基礎數據,它的結構設計直接關系到整個系統正常、高效地運轉。本文針對公司生產的藥品種類多,批量多少不一,標準跟新等特點,標準信息包括了藥品類別、名稱、數量等。
基于原輔料、生產過程中、生產后等各個階段藥品質量的檢測數據形成不同的報表文件。錄入生產過程中不同階段的檢品質量檢驗結果信息后,實際業務需求生成一些報表,用于綜合分析有關成品的具體檢驗信息,如含量、裝量差異、平均丸重等。但這些表單并不是固定一成不變的。其中比較突出的問題是要根據不同產品以及不同產品的工序,其檢測標準和檢驗展示的結果都會不同。
因此,檢驗結果具有不確定性,這就導致最終形成的報表形式是動態多變的,而報表中要呈現的數據又是由多個數據庫表中的數據形成的,它們通過一定的主外鍵關系最終把縱橫交錯的數據構成一個可用的信息報表。
對于任意一個動態表單,設其整體的表頭列項集為S ={s1, s2,… ,sn},其顯示的結果集為 R ={R1, R2,… ,Rm},所有需要關聯的數據庫表集合為 T ={T1, T2,… ,Tk},其中每個Ri中的數據都是由 T ={T1, T2,… ,Tk}中的幾個數據庫表按一定關聯關系而得,而Tj中的每個字段在Ri中的呈現方式也是不同的,有一部分為直接關聯帶入,而有一部分是通過一定的權值關系轉化而得。這些復雜的邏輯關系導致了一個程序形成不同格式的報表的難度很大。
這類問題主要體現在臺賬生成和報告書生成,在質量信息表單中體現得也淋淋盡致,下面將針對臺賬和報告書生成的實現方案進行闡釋,最終給出一般的解決方案。
查詢分析系統中一個重要的環節就是按照相關規定形成符合國家規定的臺賬表單,而在該系統中,所要生成的同一類表單的格式和數據展示方式都會隨著藥品檢驗結果不同而進行變化。而藥品的種類是繁多的,不可能做個單獨的去制作和生成表單,于是采用動態生成可變數據表單來解決此問題。
先根據此問題定義如下幾個概念:
臺賬結果列數,IPi內的所有元素的個數;
數據結果列,Rj內的所有元素;
數據結果列數,Rj內的所有元素的個數;
下面用一個簡單的例子來對這些概念進行解釋。
設所有的產品表單中的某一產品Px要生成臺賬表單,其標準細項集合為IPx,包含集合,此m項生成最終的臺賬表單結果列,共計m列;又設總共有100條記錄,每行記錄的結果列分別為,其中1 ≤ y ≤ 100,k≤m。具體生成臺賬的步驟如下:
先根據產品xP的標準細項集合IPx以及一些不變化的固定信息T生成臺賬臺頭信息,其中記T有z項數據。那么臺賬共計生成了z+m列,其中z列為固定不變的,m列為根據標準細項集合IPx動態生成,這樣就完成了第一步臺賬臺頭的生成;
然后根據讀取的 100條數據的結果列yR逐行開始匹配錄入,可能會有某項檢驗細項因為不涉及檢驗而為空,但最終都會把k項結果列匹配到 m項臺賬列中,未檢驗的 m-k項則為空。這樣循環輸出,最終形成臺賬。
在描述臺賬臺頭生成前需要描述下本系統數據存儲的方式,便于更好的表述數據展示的形式。
本文系統運用了兩張表單來進行數據的主要存儲,分別為QT_testInfoMain和QT_testInfoResult。其中QT_testInfoMain表用于存儲主要的檢驗信息,包括所檢驗產品名稱,所屬分類,日期,所用標準序號等核心重要主表信息;而其子表QT_testInfoResult有外鍵指向QT_testInfoMain,表示附屬于該Main表下的所有檢驗標準細項結果信息yR,這些結果數據在數據庫中是以y行的形式存儲。
而最終的臺賬數據要求對所有數據按照標準細項列的形式,以列形式出現展示,并且要對一些數據的形式進行轉化。這就涉及到兩個問題:結果數據的匹配和數據的轉置顯示。
為達成這個目標,首先需要進行的操作就是:動態生成臺賬臺頭。動態臺賬臺頭是根據標準細項和固定項按照用戶自行規定的順序排列生成,并且在生成臺頭的同時會出現多層的情況,所以需要對臺頭進行多層的動態生成,為達成這個目標,在設計過程中封裝了一個類 DynamicTHeader.cs來進行統一處理動態生成的問題。其核心思想是運用.NET中的控件GridView的RowCreated函數,先動態獲取固定列和結果臺頭列名稱,按照獲得的順序,以一定規則轉化為字符串。規則如下:
(1) 列與列之間用“#”隔開;
(2) 如出現多層的情況,上層不變,在要變層時以“$”隔開,并且“$”后的子列均以“,”號隔開。
例如,假如要生成圖1的臺頭,其中結果Result為動態獲取的,在獲取其細項后生成如下string型字符串:“檢品編號#檢驗人#檢驗結果Result$性狀,鑒別,溶散時限,平均裝量,裝量差異,黃芪甲苷,丹參素,微生物#結論#備注”。

圖1 某產品檢驗臺賬臺頭一部分
獲得字符串的方法:上述字符串的字段其中一部分是由一張數據庫表單的固定字段抽取出,而另一部分是由另兩張數據庫表結合起來,通過主外鍵最終確定的,而順序的確定是由權值決定的。其中“檢品編號、檢驗人、結論、備注”都是固定表單QT_testInfoMain中抽取出,“檢驗結果”中的字段是由QT_testInfoMain和QT_testInfoResult聯合主外鍵關系得到對應整體集合,然后由其順序權值sortno字段決定其排列次序(其中部分字段是通過合并而得到,他們是根據標記字段 type所決定)。最終,按照既定的規則把這些取得的字段形成上述字符串。
值得注意的是,其中檢驗結果的具體細項字段是動態可變的,這是本問題的難點所在。圖1中顯示的細項內容“性狀、鑒別等”都是屬于標準的某些檢驗細項項目,根據產品的不同而變化,并且是結果列匹配的核心字段。所以通過動態生成表頭來首先確定一個表單的基本匹配項,然后結果列便可以匹配。
確認表頭列的過程如圖2所示。

圖2 表頭生成圖
本文設計實現藥品生產過程質量管理系統,對藥品質量信息的進行了跟蹤記錄,并實現了質量信息多維度查詢和動態可變臺賬的生成。實現了一種基于樹形網狀結構的柔性質量標準的維護和使用,對數據動態形成可變多類型表單問題進行分析和研究,提出了較為通用的解決方法,也提高了以往對此問題的處理效率。
[1]劉林,羅中先,戴躍洪.基于 ERP的質量管理系統研究[J].信息系統工.2009.
[2]廖春華,張洪偉,魏筱毛,謝澍.制藥行業 ERP中質量管理子系統[J].計算機應用.2002.
[3]王群,蔣洪.制藥企業微機監控系統的設計與實現[J].工業控制計算機.2001.
[4]俞愛林,陳文戈,曾煥浪,趙樹進,蔣琳蘭.藥品生產批記錄的數據庫管理及質量追蹤[J].廣東工業大學學報(社會科學版).2002..
[5]韓亞利,李長林.質量管理信息系統和ERP系統的集成設計與實現[J].中國制造業信息化.2009.
[6]劉宏,胡鳳蓮.基于 JSP技術的中草藥資源信息系統設計與開發研究[J].安徽農業科學.2008.
[7]沈敏祥.衛生信息化建設規劃基本理論與方法[J].安徽衛生職業技術學院學報.2002.
[8]余有明,陳武,趙國慶.基于C/S模式的醫院門診信息系統的設計與實現[J].北京石油化工學院學報.2002.
[9]胡宏帥.制藥行業柔性 ERP系統的研究與實現[D].廈門大學.2009.
[10]張位勇,常赟杰,李桂香.基于UML和ASP.NET的網絡教學系統設計與實現[J].辦公自動化.2009.