向少斌
摘 要:隨著物資合同統(tǒng)簽統(tǒng)付步伐的邁進(jìn),許多企業(yè)和用戶選擇在網(wǎng)上提交合同,線下確認(rèn)。但是隨著合同的增多,現(xiàn)場(chǎng)簽約打印合同時(shí)仍然依靠手工操作,效率低下。該文在基于合同統(tǒng)簽統(tǒng)付典型模式的大背景下,借助合同管理系統(tǒng),提升書面合同簽訂的規(guī)范性與智能化,大幅提升整體工作效率。
關(guān)鍵詞:自動(dòng)化 打印 合同管理
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2017)02(a)-0108-02
目前物資合同統(tǒng)簽統(tǒng)付在全國已經(jīng)鋪展,物資合同簽訂總量逐年遞增[1]。隨著2015年5月物資子系統(tǒng)的上線,優(yōu)化著力方向在于電子合同的制定效率,而占據(jù)簽約工作較大部分的書面簽約部分仍然依靠大量的手工操作,經(jīng)多重界面跳轉(zhuǎn)打開打印,效率低下,無法與逐步優(yōu)化的系統(tǒng)同步配套,仍然影響整體工作效率。為了進(jìn)一步提升整體的工作效率,在物資合同統(tǒng)簽統(tǒng)付典型模式的大背景下,借助系統(tǒng)智能化、流程規(guī)范化調(diào)整的契機(jī),提升電子合同簽訂的規(guī)范性與智能化。
1 項(xiàng)目管理系統(tǒng)簡介
項(xiàng)目管理系統(tǒng)是一款基于Html、CSS、Java等語言開發(fā)的C/S模式的合同在線管理系統(tǒng)。它包括了合同管理、功能設(shè)置、字典管理3大功能模塊。其中合同審核包括初始化代理、合同上傳、查詢代理、導(dǎo)出合同、合同審核、合同分類、批量打印、合同刪除等功能;功能設(shè)置主要包括打印機(jī)設(shè)置、修改密碼、用戶注冊(cè)等功能;字典管理模塊包括全局?jǐn)?shù)據(jù)設(shè)置、客戶管理、客戶數(shù)據(jù)導(dǎo)入、用戶管理等功能。
2 合同導(dǎo)入模板設(shè)計(jì)
合同管理模塊中的合同導(dǎo)入是以SQL標(biāo)準(zhǔn)模板為基準(zhǔn)的。該SQL模板具有的標(biāo)題列有唯一ID、付款方編號(hào)、付款方名稱、收款方名稱、合同日期、更改日期、合同內(nèi)容、備注、行業(yè)代碼、合同代碼、合同號(hào)碼等。具體設(shè)計(jì)代碼如下。
DROP TABLE IF EXISTS `tpt_contact_tabel`;
CREATE TABLE `tpt_contact_tabel` (
`tpt_id` int(32) NOT NULL,
`tpt_payer_code` varchar(255) NOT NULL,
`tpt_payee_name` varchar(32) NOT NULL,
`tpt_contact_cretime` datetime NOT NULL,
`tpt_contact_upttime` datetime NOT NULL,
`tpt_contact_content` varchar(255) NOT NULL,
`tpt_remark` varchar(255) DEFAULT NULL,
`tpt_industry_code` varchar(255) NOT NULL,
`tpt_contact_code` varchar(255) NOT NULL,
…………
PRIMARY KEY (`tpt_id`,`tpt_contact_code`)
);
按照這個(gè)模板設(shè)置的SQL數(shù)據(jù)表,通過合同管理的合同導(dǎo)入功能,在合同上傳后,可將合同信息導(dǎo)入到系統(tǒng)數(shù)據(jù)庫中。
3 總體設(shè)計(jì)策略
3.1 合同管理數(shù)據(jù)庫具體設(shè)計(jì)
對(duì)于合同管理系統(tǒng)中的合同管理對(duì)應(yīng)一張合同數(shù)據(jù)表(contact_table),合同管理數(shù)據(jù)表主要由以下字段組成:唯一ID、合同名稱(name)、合同代碼(code)、存儲(chǔ)路徑(path)、是否打?。╤asprt)等。具體主要設(shè)計(jì)代碼如下。
DROP TABLE IF EXISTS ` contact _table`;
CREATE TABLE ` contact _table` (
`id` int(32) NOT NULL,
`name` varchar(255) NOT NULL,
`code` varchar(255) NOT NULL,
`store_path` varchar(255) NOT NULL,
`hasprt` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
……
);
這里的hasprt表示合同是否打印,如果一條記錄被選中后打印,該屬性值將被設(shè)置為1,有效避免了重復(fù)打印。通過合同導(dǎo)入模板外鍵(合同編號(hào))使得合同管理表與模板表相關(guān)聯(lián)。
3.2 自動(dòng)化打印關(guān)鍵技術(shù)說明
要保證文件能夠自動(dòng)化打印,首先要通過初始化設(shè)置,對(duì)打印設(shè)備進(jìn)行智能化設(shè)置。打印機(jī)自動(dòng)化打印設(shè)置步驟如下。
(1)建立打印服務(wù)器,并在打印服務(wù)器上設(shè)置2個(gè)共享驅(qū)動(dòng),驅(qū)動(dòng)1配置為縱向輸出,驅(qū)動(dòng)2配置為橫向輸出。
(2)在項(xiàng)目合同系統(tǒng)上開發(fā)打印功能,使得系統(tǒng)可以直接調(diào)用打印設(shè)備。
(3)用戶在選擇合同打印時(shí),由打印服務(wù)器對(duì)打印任務(wù)進(jìn)行負(fù)載均衡,產(chǎn)生2個(gè)打印隊(duì)列,分別用驅(qū)動(dòng)1和2進(jìn)行調(diào)用打印設(shè)備。
3.3 合同分類技術(shù)實(shí)現(xiàn)
在眾多的合同中,許多合同的類型相同。例如,合同的創(chuàng)建日期相同、合同的歸類相同、合同的付款方相同、合同的存儲(chǔ)路徑相同等。為了更加方便有效地組織合同,需要對(duì)這些相同種類的合同進(jìn)行歸類處理,這就需要我們系統(tǒng)設(shè)計(jì)一個(gè)合同歸類功能。其實(shí),合同分類非常簡單,原因是我們?cè)诤笈_(tái)設(shè)計(jì)了合同信息的數(shù)據(jù)庫表,而所有的合同摘要信息都存儲(chǔ)在數(shù)據(jù)庫表中,通過讀數(shù)據(jù)庫操作,完成合同的分類可謂是輕而易舉。在后臺(tái),我們?yōu)楹贤瑒?chuàng)建一個(gè)合同類,里面包含合同的細(xì)節(jié)信息,合同類如下。
public class Contact
{
private long id; //合同id
private String name="";//名字
private String code="";//代碼
private String store_path="";//存儲(chǔ)路徑
private int hasprt=0;//是否打印
……
}
通過將合同信息類化,更容易在后臺(tái)完成合同信息的管理操作。針對(duì)每一份合同,我們?yōu)樵摵贤瑒?chuàng)建一個(gè)合同對(duì)象,然后將該對(duì)象序列化,并把它存儲(chǔ)到數(shù)據(jù)庫中,將每一個(gè)合同對(duì)象存儲(chǔ)到數(shù)據(jù)庫有以下優(yōu)點(diǎn)[2]。
(1)存取方法(Accessor methods)將會(huì)使你對(duì)屬性的讀取和寫入過程做到完全控制,例如更新合同的付款方、修改創(chuàng)建時(shí)間等。
(2)每一級(jí)的每個(gè)記錄和屬性(的操作)都有確認(rèn)過程。
(3)從數(shù)據(jù)庫表中智能地獲取合同對(duì)象,例如選擇付款方為×××的合同,可以直接獲取該合同的對(duì)象,然后具體的屬性可以通過對(duì)象get方法獲取。
(4)重復(fù)使用的邏輯方法意味著所有的數(shù)據(jù)庫交互都要通過相同的基礎(chǔ)代碼(codebase),這將使得合同維護(hù)變得更加簡單。
(5)代碼簡單,因?yàn)椴煌暮贤涗浺呀?jīng)包含在各自所處的類(class)當(dāng)中,而不是繁瑣的合同文件。
(6)在手工編寫代碼和SQL查詢語句時(shí),出錯(cuò)的機(jī)會(huì)將更少。
舉一個(gè)實(shí)際的例子,當(dāng)合同的路徑需要改變時(shí),項(xiàng)目管理系統(tǒng)會(huì)通過圖形化界面選擇你要存儲(chǔ)的路徑,通過函數(shù)調(diào)用,獲取更改后的存儲(chǔ)路徑,并更新數(shù)據(jù)庫。通過數(shù)據(jù)庫自動(dòng)化操作,不但可以免去繁瑣的人工操作,同時(shí)避免了合同管理上的混亂,也降低了錯(cuò)誤率。不僅是合同的存儲(chǔ)路徑更改上,合同的批量刪除、合同的更新日期改變等都可以通過后臺(tái)的數(shù)據(jù)庫操作來完成。具體實(shí)現(xiàn)代碼主要如下。
Public List
{
……
List
return res; //返回查詢結(jié)果
}
這里的參數(shù)arg是分類查詢語句,通過對(duì)arg設(shè)置,可以通過query函數(shù)(ContactDao是數(shù)據(jù)庫操作接口)獲取同一類型對(duì)象,實(shí)現(xiàn)了項(xiàng)目管理系統(tǒng)合同分類的功能。例如選付款方為“×××”的合同分類的arg設(shè)置為:
select * from contact _table where contact _table.code=
(select tpt_contact_code from tpt_contact_tabel where payer_code _=xxx )
通過對(duì)arg的設(shè)置,可以很靈活地更改輸入?yún)?shù),從而實(shí)現(xiàn)了合同的分類查詢。
3.4 合同批量打印技術(shù)實(shí)現(xiàn)
在3.2節(jié)中,該文介紹了打印技術(shù)的自動(dòng)化原理。針對(duì)文件的批量打印,我們借助合同分類查詢結(jié)果,進(jìn)行如下操作。
public void sendtoPrnt(List
{
for(List
{
……
getPrinter().print(ctc.store_path+ctc.name);//獲取合同的打印絕對(duì)路徑
//調(diào)用打印機(jī)程序打印
……
}
}
由于打印機(jī)設(shè)置了雙驅(qū)動(dòng),打印服務(wù)器可以連接多臺(tái)打印設(shè)備,加速了打印過程。經(jīng)過實(shí)踐表明,項(xiàng)目管理系統(tǒng)在管理項(xiàng)目和批量打印合同上效率對(duì)比人工操作有很大提升,并且大大減少了錯(cuò)誤率。
4 結(jié)語
項(xiàng)目管理系統(tǒng)通過前端界面整合合同管理并連接物理打印設(shè)備,通過數(shù)據(jù)庫操作設(shè)定打印合同數(shù)據(jù)源,實(shí)現(xiàn)外接設(shè)備通過自動(dòng)打印功能實(shí)現(xiàn)合同的自動(dòng)批量打印操作。對(duì)比現(xiàn)有的業(yè)務(wù)操作方式,在達(dá)到合同規(guī)范性、安全性、保密目標(biāo)的同時(shí),具有更高的社會(huì)經(jīng)濟(jì)效益、更強(qiáng)的業(yè)務(wù)處理能力,是整體物資合同簽訂業(yè)務(wù)應(yīng)用的一個(gè)重要技術(shù)創(chuàng)新。
參考文獻(xiàn)
[1] 吳誠昊.物資合同統(tǒng)簽統(tǒng)付工作探討[J].貴州電力技術(shù),2014(11):93-94.
[2] 蔣丹,王蘭成.大型數(shù)據(jù)庫對(duì)象關(guān)系技術(shù)的應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用研究,2003,20(3):31-32.
[3] 彭有福.企業(yè)電能管理自動(dòng)化系統(tǒng)的實(shí)現(xiàn)[D].華南理工大學(xué),2012.