国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PHP的發(fā)印管理系統(tǒng)的實(shí)現(xiàn)

2016-11-24 17:08竇立君錢佳寧邱莉
電腦知識(shí)與技術(shù) 2016年26期
關(guān)鍵詞:S結(jié)構(gòu)出版社

竇立君++錢佳寧++邱莉

摘要:該文介紹了利用PHP以及MySQL數(shù)據(jù)庫(kù)技術(shù),結(jié)合發(fā)印業(yè)務(wù)流程,建立起來(lái)的一套基于B/S結(jié)構(gòu)的出版社發(fā)印憑單管理系統(tǒng)。包括系統(tǒng)設(shè)置、發(fā)印單錄入、委托單錄入、費(fèi)用單錄入、基本庫(kù)的操作、報(bào)表統(tǒng)計(jì)等模塊。各模塊協(xié)同工作,完成整個(gè)發(fā)印流程的管理以及各項(xiàng)費(fèi)用的計(jì)算。

關(guān)鍵詞:出版社;發(fā)印管理;B/S結(jié)構(gòu);PHP

中圖分類號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)26-0091-03

Implementation of Printing Affairs Management System Based on PHP

DOU Li-jun1,QIAN Jia-ning1,QIU Li2

(1.Nanjing Forestry University,Nanjing 210037,China;2.Jiangsu Childrens Publishing House,Nanjing 210009, China)

Abstract: Using PHP and MySQL database technology, combining with the printing business processes, and finally built up a printing voucher management system, which is based on Browser/Server Structure in this paper.Includes system configures, enter the voucher information, enter commission voucher, enter the cost voucher, operations on the data forms and calculations of reports, etc. All these modules work together to complete the process management, as well as the cost calculation.

Key words: publishing house; printing management; B/S structure; PHP

1 概述

隨著近些年來(lái)計(jì)算機(jī)的普及、無(wú)紙化辦公以及信息化潮流的襲來(lái),出版社、印刷廠等印刷行業(yè)也紛紛引進(jìn)了印刷管理系統(tǒng)。印刷行業(yè)作為國(guó)家重點(diǎn)行業(yè)之一,是國(guó)家、政府高度關(guān)注的對(duì)象。依賴于印刷行業(yè)的印刷管理系統(tǒng)也因此得到了廣泛的關(guān)注,本文利用PHP以及MySQL技術(shù),結(jié)合江蘇少年兒童出版社發(fā)印管理流程設(shè)計(jì)實(shí)現(xiàn)了一套管理系統(tǒng)。

2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

2.1 系統(tǒng)權(quán)限設(shè)計(jì)

用戶登錄權(quán)限控制,劃分功能級(jí)別。首先要設(shè)置一個(gè)超級(jí)管理員,具有最高的功能級(jí)別,擁有其他用戶的所有功能;能夠修改所有用戶的資料、權(quán)限以及出版社信息。然后設(shè)置錄入員級(jí)別的用戶,主要負(fù)責(zé)委托單、費(fèi)用單、發(fā)印單的錄入,同時(shí)也具有查詢和打印報(bào)表的功能。另外,可以設(shè)置只具有查詢、打印報(bào)表權(quán)限的用戶,該用戶屬于最低級(jí)別的用戶。

2.2 系統(tǒng)功能設(shè)計(jì)

根據(jù)與江蘇少年兒童出版社的交流得出的需求分析,結(jié)合系統(tǒng)設(shè)計(jì)的目標(biāo),系統(tǒng)可劃分為6個(gè)功能模塊,如圖1所示。

用戶信息管理:主要包括用戶登陸、修改密碼以及權(quán)限管理。

系統(tǒng)信息管理:管理員對(duì)出版社基本信息的設(shè)置以及維護(hù)。

信息錄入管理:發(fā)印單錄入、委托單錄入以及費(fèi)用錄入。

1)發(fā)印單錄入:如果是初印,錄入新的委托單。如果是加印、修訂或重印,點(diǎn)擊信息錄入模塊下的發(fā)印單操作,選擇相應(yīng)的功能鏈接,檢索已存在的發(fā)印單進(jìn)行修改。四種方式本質(zhì)上都是添加新的發(fā)印單記錄,通過(guò)檢索減少了人工輸入數(shù)據(jù)的工作量。

2)委托單錄入:委托單作為發(fā)印合同,包括委托方、受托方信息,印制圖書(shū)的要求等。

3)費(fèi)用錄入:發(fā)印單入庫(kù)后,填寫(xiě)各加工處理費(fèi),包括照排費(fèi)、制版費(fèi)、紙張費(fèi)、印刷費(fèi),運(yùn)費(fèi)等。

4)此模塊支持對(duì)所有已錄入單據(jù)的修改,完成對(duì)數(shù)據(jù)庫(kù)的更新操作。

數(shù)據(jù)庫(kù)表管理:共分三大類,工價(jià)庫(kù)、單位庫(kù)、工藝庫(kù)。

1)工價(jià)庫(kù):包括印刷工價(jià)、裝訂工價(jià)等內(nèi)容。

2)單位庫(kù):包括承印單位、送書(shū)單位、供紙單位等內(nèi)容。

3)工藝庫(kù):包括裝訂次序、裝幀形式、印刷方法等內(nèi)容。

報(bào)出版署管理:對(duì)某時(shí)段內(nèi)圖書(shū)印制的情況進(jìn)行統(tǒng)計(jì),并導(dǎo)出到Excel。

報(bào)表統(tǒng)計(jì)管理:大類上分為:委托單統(tǒng)計(jì)、發(fā)印單統(tǒng)計(jì)以及耗材統(tǒng)計(jì)。

1)各單據(jù)統(tǒng)計(jì):統(tǒng)計(jì)每個(gè)月份或季度發(fā)印單的數(shù)量。

2)圖書(shū)信息報(bào)表:統(tǒng)計(jì)圖書(shū)的基本信息,以發(fā)印憑單形式顯示。

3)工價(jià)公式:各項(xiàng)費(fèi)用計(jì)算的公式。

4)耗材統(tǒng)計(jì):主要是統(tǒng)計(jì)本次印刷耗材量,如:紙張、油墨。

3 數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)(Database Design)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。

從業(yè)務(wù)流程上看,有三大數(shù)據(jù)單需要錄入,需要建三個(gè)分別用于存儲(chǔ)發(fā)印單、費(fèi)用單、委托單的數(shù)據(jù)表。而且三個(gè)數(shù)據(jù)表要通過(guò),唯一的發(fā)印編號(hào)(fybh)來(lái)保持統(tǒng)一。發(fā)印單以fybh為主鍵,發(fā)印單錄入員編號(hào)為索引(外鍵)。費(fèi)用單以費(fèi)用單編號(hào)為主鍵,fybh以及費(fèi)用單錄入員編號(hào)為索引,存儲(chǔ)圖書(shū)發(fā)印過(guò)程中所涉及的各項(xiàng)費(fèi)用。委托表,以委托單編號(hào)為主鍵,fybh以及委托單錄入員編號(hào)為索引,存儲(chǔ)委托方與出版社關(guān)于圖書(shū)發(fā)印的協(xié)議信息。

系統(tǒng)采用MySQL作為后臺(tái)數(shù)據(jù)庫(kù),共設(shè)計(jì)了39張數(shù)據(jù)表,表以tb_開(kāi)頭。包括發(fā)印單數(shù)據(jù)表、其他費(fèi)用表、委托單表、裝訂方法表、裝幀形式表等。

發(fā)印單共有近180個(gè)屬性,為提高操作效率,將發(fā)印單數(shù)據(jù)按性質(zhì)拆分到五張表中,分別為:tb_main_base1、tb_main_base2、tb_main_base4、tb_main_base5、tb_hardcover。下面簡(jiǎn)單介紹幾張表的部分屬性。

3.1 tb_main_base1表

以發(fā)印編號(hào)為主鍵(自動(dòng)編號(hào))。主要存儲(chǔ)“圖書(shū)的基本信息”、“交書(shū)要求信息”、“裝訂信息”等,該數(shù)據(jù)表部分字段如表1所示。

3.2 tb_main_base2表

以發(fā)印編號(hào)為主鍵,主要存儲(chǔ) “圖書(shū)各部分用紙情況”以及“印刷費(fèi)用的計(jì)算公式”,該數(shù)據(jù)表部分字段如表2所示。

3.3 tb_main_base4表

以發(fā)印編號(hào)為主鍵,主要存儲(chǔ)上報(bào)“全國(guó)新聞出版統(tǒng)計(jì)填報(bào)系統(tǒng)”的信息,該數(shù)據(jù)表部分字段如表3如示。

4 關(guān)鍵代碼設(shè)計(jì)

在B/S結(jié)構(gòu)的代碼設(shè)計(jì)過(guò)程中,除了實(shí)現(xiàn)功能外還要考慮到系統(tǒng)的安全性及代碼的重用性。因此,模塊化程序設(shè)計(jì)的思想在這里得到了充分的應(yīng)用,同時(shí)系統(tǒng)對(duì)系統(tǒng)用戶的驗(yàn)證也滲透到各個(gè)頁(yè)面。這里只對(duì)系統(tǒng)中關(guān)鍵性的幾個(gè)功能代碼作簡(jiǎn)要說(shuō)明。

4.1 是否登陸檢測(cè)

為防止用戶通過(guò)事先獲取頁(yè)面地址的方法非法進(jìn)入系統(tǒng)相關(guān)頁(yè)面,系統(tǒng)設(shè)置了一個(gè)專門進(jìn)行登陸檢測(cè)的頁(yè)面(index_check.php),通過(guò)文件包含的方式加到所有需要進(jìn)行用戶身份認(rèn)證的頁(yè)面中,用戶不經(jīng)過(guò)登陸進(jìn)入相關(guān)頁(yè)面時(shí)自動(dòng)跳轉(zhuǎn)到登陸頁(yè)面。具體代碼如下:

<?php //php標(biāo)簽

session_start(); //啟動(dòng)session 必須在代碼的第一行執(zhí)行。

include ("index_check.php"); //將文件包含進(jìn)主頁(yè)程序。

?>

如果正確登錄,會(huì)將登錄用戶名賦值給$_SESSION[admin_name],SESSION變量為空則表示還未登陸。彈出提示信息“請(qǐng)通過(guò)正確的途徑登錄本系統(tǒng)!”。點(diǎn)擊確定后,通過(guò)window.location方法跳轉(zhuǎn)到登陸頁(yè)(login.php) 。判斷條件不成立則說(shuō)明已登陸,進(jìn)入主頁(yè)。

4.2系統(tǒng)用戶自動(dòng)列表顯示及密碼驗(yàn)證

用戶可以自己輸入用戶名,也可以直接在下拉框中直接選擇對(duì)應(yīng)的用戶名。下拉框中的用戶名通過(guò)提前從數(shù)據(jù)庫(kù)用戶表中獲取并將數(shù)據(jù)輸出到下拉列表框中。簡(jiǎn)要代碼如下:

$sql=mysql_query("select * from tb_users",$conn); //從用戶表中查詢用戶

$info=mysql_fetch_array($sql); //將滿足條件的記錄放到數(shù)組中

//將每條記錄的用戶id賦給一個(gè)option 成為選項(xiàng)

//注意php標(biāo)簽, echo輸出

輸入或選擇好用戶名及輸入密碼之后點(diǎn)擊登陸按鈕,進(jìn)行身份認(rèn)證,具體代碼下:

$A_name=$_POST[name]; //接收表單提交的用戶名

$A_pwd=$_POST[pwd]; //接收表單提交的密碼

$info=mysql_fetch_array(mysql_query("select * from tb_users where userid=$A_name and userpass=$A_pwd,$conn)); //檢索密碼是否正確

if($info==false) //判斷后彈出相應(yīng)的提示

密碼正確后,$_SESSION[admin_name]=$info[userid]; 這樣進(jìn)入主頁(yè)面的時(shí)候,就不會(huì)有彈出提示。在頁(yè)面的導(dǎo)航區(qū),會(huì)顯示用戶名信息,功能菜單也會(huì)根據(jù)用戶權(quán)限進(jìn)行隱藏或顯示。

4.3 導(dǎo)航區(qū)菜單展示

導(dǎo)航區(qū)的代碼,獨(dú)立存放在 a_navigation.php文件中,然后在index.php文件中對(duì)其進(jìn)行引用。在a_navigation.php文件中,引用menu.js,javascript文件,將PHP文件和JS文件分離,起到更好管理的效果,通過(guò)縮短同一文件代碼行數(shù)來(lái)增強(qiáng)代碼的可讀性。menu.js存放在bysj文件夾下的JS文件夾中,使用下述語(yǔ)句進(jìn)行引用:

a_navigation.php 中的菜單顯示,菜單隱藏觸發(fā)事件如下:

Onmouseover=showmenu (event, systemenu) //鼠標(biāo)指針移動(dòng)到對(duì)象上,顯示菜單

Onmouseout=delayhidemenu () //鼠標(biāo)指針從對(duì)象上移開(kāi),隱藏菜單

以系統(tǒng)設(shè)置舉例,系統(tǒng)設(shè)置下有“出版社系統(tǒng)設(shè)置”、“權(quán)限設(shè)置”兩個(gè)小項(xiàng)。

var systemenu= //此部分為下拉顯示的子菜單項(xiàng)

//將下拉菜單描述成一個(gè)兩行一列的表格

出版社系統(tǒng)設(shè)置

權(quán)限設(shè)置

//定義的systemenu變量在調(diào)用showmenu函數(shù)時(shí)作為參數(shù)。

function showmenu(e,vmenu,mod){ …}

function hidemenu(){…}

//針對(duì)于“子菜單焦點(diǎn)匯聚”時(shí)的凸顯效果函數(shù):

function overbg(tdbg){…}

function outbg(tdbg){…}

5 結(jié)束語(yǔ)

本文介紹了在理解圖書(shū)發(fā)印流程的基礎(chǔ)上,在滿足基本業(yè)務(wù)要求的前提下,以發(fā)印單錄入模塊為中心,搭建的用戶界面友好的基于PHP+MySQL的塊功能清晰、針對(duì)性明確的管理信息系統(tǒng)。報(bào)表統(tǒng)計(jì)模塊的設(shè)計(jì),從統(tǒng)計(jì)的角度反映出版社的業(yè)務(wù)情況,便于后續(xù)的結(jié)算工作,減少了人工操作,同時(shí)也將計(jì)算錯(cuò)誤的可能降低,各項(xiàng)數(shù)據(jù)計(jì)算有證可依,勘誤便捷。

參考文獻(xiàn):

[1] 何俊斌.從零開(kāi)始學(xué)PHP[M].北京:電子工業(yè)出版社,2011.

[2] 帕蒂拉,霍金斯.高性能PHP應(yīng)用開(kāi)發(fā)[M].北京:人民郵電出版社,2011.

[3] 威利,湯姆森.PHP和MySQL Web開(kāi)發(fā)[M].北京:機(jī)械工業(yè)出版社,2009.

猜你喜歡
S結(jié)構(gòu)出版社
我等待……
今日華人出版社有限公司
石油工業(yè)出版社
镇康县| 长泰县| 青阳县| 招远市| 牡丹江市| 八宿县| 邹城市| 房山区| 息烽县| 鸡泽县| 柘城县| 西安市| 伊吾县| 清涧县| 兰坪| 崇明县| 蒙城县| 临澧县| 云霄县| 宁武县| 若羌县| 佛坪县| 嵊州市| 报价| 大关县| 都江堰市| 宿迁市| 荃湾区| 资源县| 西乌珠穆沁旗| 乌鲁木齐市| 昌都县| 巴东县| 五寨县| 龙井市| 灵山县| 宝坻区| 驻马店市| 罗山县| 海林市| 朝阳区|