版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、藥品進(jìn)銷存管理軟件設(shè)計(jì)報(bào)告學(xué)校: 院系:學(xué)號(hào):姓名:指導(dǎo)教師:摘要:本文介紹了用myeclipse 6.5開發(fā)軟件開發(fā)藥品進(jìn)銷存管理系統(tǒng)的過程。設(shè)計(jì)主要針對(duì)藥品廠家對(duì)產(chǎn)品進(jìn)行銷售管理使用,能夠?qū)崿F(xiàn)藥品進(jìn)貨、銷售、庫存查詢、出單記錄、進(jìn)銷存明細(xì)表、用戶操作等。提高代理商的管理和服務(wù)水平,將業(yè)務(wù)從純?nèi)斯げ僮鬓D(zhuǎn)換成人工與計(jì)算機(jī)共同處理,從而降低了人工勞動(dòng)并增加了信息的準(zhǔn)確性。 關(guān)鍵詞:藥品 進(jìn)銷存 myeclipse 6.5一、 系統(tǒng)需求1、 功能需求系統(tǒng)至少應(yīng)具有以下功能:(1) 用戶添加和刪除:系統(tǒng)能夠根據(jù)軟件使用用戶的變動(dòng),進(jìn)行用戶管理,包括用戶的添加和刪除,提高系統(tǒng)的安全性。(2) 修改密碼
2、:系統(tǒng)能夠根據(jù)用戶的需要修改密碼,防止他人惡意篡改,引起重大損失,提高系統(tǒng)的安全性。(3) 庫存瀏覽:系統(tǒng)能根據(jù)需要顯示庫存,方便用戶根據(jù)庫存進(jìn)行藥品的進(jìn)銷。防止庫存的不足以及根據(jù)實(shí)際情況酌情銷售等。(4) 修改藥品信息:系統(tǒng)能夠修改藥品屬性,如藥品劑型,產(chǎn)地,單位,數(shù)量,備注等。(5) 添加貨物:系統(tǒng)可以根據(jù)客戶需要進(jìn)貨,將貨物存入庫存數(shù)據(jù)庫中。(6) 出貨售出:系統(tǒng)能根據(jù)客戶需求進(jìn)行藥品的銷售,并能做好相關(guān)的記錄。(7) 統(tǒng)計(jì)信息:系統(tǒng)能夠根據(jù)進(jìn)貨、銷售操作,查詢相關(guān)進(jìn)貨、銷售記錄信息,根據(jù)用戶的條件輸入,查詢出相應(yīng)條件下的金額統(tǒng)計(jì)。(8) 幫助文件:系統(tǒng)能夠提供用戶幫助文件信息。2、 非
3、功能需求(1) 時(shí)間特性要求系統(tǒng)應(yīng)具有比較快的響應(yīng)速度,保證用戶能快速進(jìn)行各種操作。(2) 靈活性系統(tǒng)應(yīng)具有較高的靈活性,當(dāng)用戶的需求發(fā)生變化時(shí),通過較小的代價(jià)即可使系統(tǒng)快速適應(yīng)這些變化。(3) 故障處理要求系統(tǒng)應(yīng)詳細(xì)考慮各種可能出現(xiàn)的錯(cuò)誤,包括用戶的操作錯(cuò)誤,數(shù)據(jù)處理的錯(cuò)誤,界面更新錯(cuò)誤等,對(duì)于每一種錯(cuò)誤給出詳細(xì)原因。并且保證不出現(xiàn)任何導(dǎo)致用戶數(shù)據(jù)丟失的錯(cuò)誤,如強(qiáng)行關(guān)機(jī),強(qiáng)行退出系統(tǒng),系統(tǒng)當(dāng)機(jī),死機(jī)等。(4) 通用性系統(tǒng)能夠在所有流行的技術(shù)環(huán)境下運(yùn)行,支持不同平臺(tái)系統(tǒng),具有較強(qiáng)的可擴(kuò)展性,可補(bǔ)充性。(5) 安全性庫存信息的存儲(chǔ)需要設(shè)計(jì)一種好的策略,以保證系統(tǒng)的安全性,例如數(shù)據(jù)庫存儲(chǔ)的安全性比
4、文件方式要好一些,密碼的設(shè)置及修改等也對(duì)安全性提出較高的要求。二、 系統(tǒng)功能介紹及使用說明在使用系統(tǒng)之前應(yīng)確保oracle數(shù)據(jù)庫服務(wù)已打開。1. 登陸系統(tǒng)輸入正確的用戶名和密碼即可,同時(shí)要求密碼的位數(shù)不得少于6位。初始用戶名和密碼是admin和123456。用戶信息存儲(chǔ)在數(shù)據(jù)庫中。2. 修改密碼:進(jìn)入系統(tǒng)后,可點(diǎn)擊界面右上角的“修改密碼”進(jìn)行密碼的修改,在修改密碼頁面要保證新密碼和確認(rèn)密碼一致。點(diǎn)擊“確定”之后,彈出密碼修改成功對(duì)話框。3. 導(dǎo)航條的使用界面上方的導(dǎo)航條顯示了基本功能模塊,鼠標(biāo)移動(dòng)至菜單項(xiàng)(無需點(diǎn)擊),則會(huì)自動(dòng)彈出子模塊菜單項(xiàng)。點(diǎn)擊子模塊菜單項(xiàng)即可進(jìn)行相應(yīng)功能的操作。(1) 進(jìn)
5、貨管理點(diǎn)擊“庫存瀏覽”子菜單項(xiàng),顯示庫存列表,每一條記錄之后顯示相應(yīng)可進(jìn)行的操作修改和添加,即修改庫存藥品的屬性信息以及添加相應(yīng)藥品。點(diǎn)擊“添加新品種”菜單項(xiàng),顯示進(jìn)貨頁面,用戶根據(jù)實(shí)際情況進(jìn)行藥品信息的填寫。信息填寫無誤后,點(diǎn)擊“添加”按鈕,彈出添加成功對(duì)話框(編號(hào)是自動(dòng)生成的)。(2) 銷售管理點(diǎn)擊“庫存瀏覽”菜單項(xiàng),顯示庫存列表,每一條記錄之后顯示操作售出。點(diǎn)擊“售出”鏈接,顯示售出頁面,根據(jù)已顯示信息,確認(rèn)無誤后,填寫售出數(shù)量以及銷售額,點(diǎn)擊“售出”按鈕后,彈出成功售出的對(duì)話框。(3) 統(tǒng)計(jì)該功能主要根據(jù)用戶的條件選擇、填寫,顯示相應(yīng)的進(jìn)貨和銷售記錄,并進(jìn)行金額統(tǒng)計(jì)。銷售統(tǒng)計(jì)與進(jìn)貨統(tǒng)計(jì)
6、類似,在此不進(jìn)行贅述。(4) 用戶管理當(dāng)系統(tǒng)使用者發(fā)生變更時(shí),可以通過用戶管理修改用戶信息,提高系統(tǒng)的安全性,并且設(shè)計(jì)了頁面驗(yàn)證功能,保證數(shù)據(jù)的完整性。4. 退出系統(tǒng)點(diǎn)擊界面右上角“退出系統(tǒng)”,即返回登陸頁面。三、 系統(tǒng)環(huán)境1 系統(tǒng)開發(fā)環(huán)境系統(tǒng)在windowsxp sp2系統(tǒng)上用myeclipse 6.5開發(fā)。2 系統(tǒng)運(yùn)行環(huán)境(1)硬件設(shè)備l 處理器:intel pentium 166 mx或更高l 內(nèi)存:32mb以上l 硬盤:200mb以上l 顯示設(shè)備:支持256色、640*480以上分辨率的顯示卡和顯示器l 輸入設(shè)備:鼠標(biāo)、鍵盤l 輸出設(shè)備:打印機(jī)(2)軟件設(shè)備l 操作系統(tǒng):windows
7、 98/me/2x/xp/vista/7l myeclipse 6.0l oracle11g 數(shù)據(jù)庫 plsql連接數(shù)據(jù)庫四、 系統(tǒng)開發(fā)日程及順序系統(tǒng)開發(fā)時(shí)間為2011年9月1日至9月15日。具體見表1。星期日期任務(wù)(四)91看綜合課程設(shè)計(jì)要求,明確選題,針對(duì)選題進(jìn)行需求分析(五)92根據(jù)選題繼續(xù)進(jìn)行需求分析(六)93根據(jù)需求進(jìn)行頁面原型設(shè)計(jì),看書和筆記(日)94繼續(xù)進(jìn)行頁面原型設(shè)計(jì),看書和筆記(一)95針對(duì)需求設(shè)計(jì)數(shù)據(jù)庫(二)96搭建程序架構(gòu)(三)97完成用戶管理模塊,包括頁面設(shè)計(jì)以及包的設(shè)計(jì)(四)98完善用戶管理模塊,提高安全性能(五)99完成進(jìn)貨模塊,除了打印模塊,基本完成(六)910繼
8、續(xù)完善進(jìn)貨模塊(日)911完成銷售模塊,除了打印功能,基本實(shí)現(xiàn)(一)912繼續(xù)完善銷售模塊(二)913設(shè)計(jì)幫助模塊(三)914學(xué)習(xí)打印模塊的設(shè)計(jì)以及分頁功能的設(shè)計(jì)(四)915完成打印模塊以及分頁功能表1:系統(tǒng)開發(fā)日程五、 系統(tǒng)開發(fā) 下面詳細(xì)介紹系統(tǒng)開發(fā)的技術(shù)與方法。1. 系統(tǒng)總體設(shè)計(jì)圖1.1 具體功能模塊系統(tǒng)采用面向?qū)ο蠓治?,面向?qū)ο笤O(shè)計(jì),面向?qū)ο箝_發(fā)的思想,采用支持面向?qū)ο蟮拈_發(fā)工具。(1) 頁面原型設(shè)計(jì)根據(jù)系統(tǒng)功能需求設(shè)計(jì)頁面。采用jsp技術(shù)進(jìn)行界面的設(shè)計(jì)。 css、images、js、my97datepicker文件夾主要用于頁面框架、格式等的設(shè)計(jì)以及相關(guān)引用控件的設(shè)計(jì),部分頁面采用jq
9、uery驗(yàn)證方式。my97datepiicker是日歷控件,利用網(wǎng)上資源,學(xué)習(xí)調(diào)用方式,直接在程序中調(diào)用,方便快捷。(2) 架構(gòu)設(shè)計(jì)根據(jù)頁面以及功能需要,搭建系統(tǒng)框架。采用servlet+jsp的設(shè)計(jì),故建立所需要的包。servlet是一種服務(wù)器端的java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的web頁面。 它擔(dān)當(dāng)客戶請(qǐng)求(web瀏覽器或其他http客戶程序)與服務(wù)器響應(yīng)(http服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。biz包主要用于servlet包和dao包的接口,同時(shí)也可擔(dān)任驗(yàn)證功能實(shí)現(xiàn)模塊的接口。service層是面向功能的,一個(gè)個(gè)功能模塊比如說銀行登記并完成一次存款,ui
10、要把請(qǐng)求給service層,然后service曾將這一個(gè)case分解成許多步驟調(diào)用底層的實(shí)現(xiàn)完成這次存款,dao就是下面那層。entity實(shí)體類包主要幫助將數(shù)據(jù)庫中記錄的屬性與servlet中存儲(chǔ)的頁面相掛鉤,方便調(diào)用,保證數(shù)據(jù)庫的獨(dú)立性。一般而言,一張表對(duì)應(yīng)著一個(gè)entity實(shí)體類。dao包主要用于與數(shù)據(jù)庫打交道。dao完成連接數(shù)據(jù)庫修改刪除添加等的實(shí)現(xiàn)細(xì)節(jié),例如sql語句是怎么寫的,怎么把對(duì)象放入數(shù)據(jù)庫的。util工具包主要用于通用功能的實(shí)現(xiàn),移植性好,譬如漢字拼音的轉(zhuǎn)換,自動(dòng)獲取編號(hào)等功能的實(shí)現(xiàn)。filter過濾器包對(duì)用戶權(quán)限、用戶頁面輸入等的限制。提高系統(tǒng)安全性。(3) 數(shù)據(jù)庫設(shè)計(jì)注意
11、虛擬主鍵的創(chuàng)建,方便歷史紀(jì)錄的保存和查看。users表 stock表stockin表sell表以上是整個(gè)系統(tǒng)的基本設(shè)計(jì)思想,接下來討論具體的實(shí)現(xiàn)方法。2. 頁面設(shè)計(jì)中涉及的部分技術(shù)(1)采用javascript腳本技術(shù)進(jìn)行數(shù)據(jù)的驗(yàn)證function yanzheng()var id=document.form.logid.value;/獲得頁面上輸入的登錄名var pwd=document.form.pwd.value; /獲得頁面上輸入的密碼 if(id= )/判斷登錄名是否為空 alert(請(qǐng)輸入用戶名!);/若登錄名為空,則彈出提示對(duì)話框return false; if(pwd= |pw
12、d.length6)/判斷密碼是否為空且密碼長度是否大于6位alert(請(qǐng)輸入密碼(至少六位)!);若密碼為空或密碼長度小于6位,則彈出對(duì)話框return false; (2) post方式提交表單onsubmit=return yanzheng()表示在提交前進(jìn)行數(shù)據(jù)驗(yàn)證用于在servlet中獲取action的值,采取相應(yīng)的操作。(3) 在頁面的head部分動(dòng)態(tài)顯示時(shí)間,并能實(shí)現(xiàn)傳遞登錄用戶名/實(shí)現(xiàn)字幕滾動(dòng)$sessionscope.logid歡迎您!/el表達(dá)式顯示登錄用戶名var timer0 = null;var week = new array( 日, 一, 二, 三, 四, 五,
13、六 );timer0 = settimeout(showtime,100);function showtime() cleartimeout(timer0); var dt = new date(); var weekday = weekdt.getday(); var tp = document.getelementbyid(timeplace); var result = dt.tolocaledatestring()+ 星期+weekday+ +dt.tolocaletimestring(); tp.innerhtml = result; timer0 = settimeout(show
14、time,1000); (4) 導(dǎo)航條的設(shè)計(jì)采用get方式進(jìn)行傳遞,即能夠?qū)崿F(xiàn)在搜索欄里顯示get傳遞的內(nèi)容進(jìn)貨管理 庫存瀏覽添加新品種 總結(jié)一下,get是向服務(wù)器發(fā)索取數(shù)據(jù)的一種請(qǐng)求,而post是向服務(wù)器提交數(shù)據(jù)的一種請(qǐng)求,在form(表單)中,method默認(rèn)為get,實(shí)質(zhì)上,get和post只是發(fā)送機(jī)制不同,并不是一個(gè)取一個(gè)發(fā),get一般用于獲取/查詢資源信息,而post一般用于更新資源信息。/退出系統(tǒng)后跳到登陸頁面(5) 功能模塊頁面設(shè)計(jì)在查詢顯示頁面采用el表達(dá)式顯示數(shù)據(jù)庫數(shù)據(jù)。% taglib prefix=c uri=/在servlet中定義als$ stock.id $ sto
15、 $ stock.pinyin $ stock.norms get方式傳遞參數(shù)id,針對(duì)id進(jìn)行操作 修改 采用jquery方式進(jìn)行數(shù)據(jù)驗(yàn)證,注意:要引入 $.validator.setdefaults(submithandler: function() form.submit(); ); jquery.validator.addmethod(byterangelength, function(value, element, param) var length = value.length; for(var i = 0; i 127) length+; return this.o
16、ptional(element) | ( length = param0 & length = param1 ); , 請(qǐng)確保輸入的值在3-15個(gè)字節(jié)之間(一個(gè)中文字算2個(gè)字節(jié)); $().ready(function() / validate the comment form when it is submitted$(#commentform).validate();/ validate signup form on keyup and submit$(#signupform).validate(rules: amount:required: true,incorp:required: t
17、rue,byterangelength: 2,15,messages: amount:required: 請(qǐng)輸入進(jìn)貨數(shù)量,incorp:required: 請(qǐng)輸入進(jìn)貨單位,byterangelength: 進(jìn)貨單位必須在2-15個(gè)字符之間(一個(gè)中文算2個(gè)字符) , ); ); input相乘,自動(dòng)獲得積 日歷控件的調(diào)用. 腳本驗(yàn)證,至少輸入一種查詢方式,同時(shí),保證查詢的開始日期與結(jié)束日期相同。function yanzheng() var bh=.value; var xm=document.form1.pinyin.value; var jd=docum
18、ent.form1.incorp.value; var ks=document.form1.startdate.value; var js=document.form1.enddate.value; if(bh= &xm= &ks= &js= &jd= ) alert(請(qǐng)?zhí)顚懖樵儣l件); return false; var startdate=document.getelementbyid(startdate).value; var enddate=document.getelementbyid(enddate).value; if(startdate!= &enddate!= ) start
19、date=startdate.replace(new regexp(-, g),/); enddate=enddate.replace(new regexp(-, g),/); var starttime=new date(startdate).gettime(); var endtime=new date(enddate).gettime(); if(endtime-starttime)0) alert(結(jié)束日期必須大于開始日期); return false; 3. 包的設(shè)計(jì) (1)servlet是很重要的類,必須設(shè)計(jì)好。因?yàn)轫撁嬷饕ㄟ^servlet與后臺(tái)打交道。stockservlet包
20、get方式下的功能實(shí)現(xiàn)public void doget(httpservletrequest req, httpservletresponse resp)throws servletexception, ioexception string action = req.getparameter(action);/獲取頁面名為action的值string id = req.getparameter(id);/獲取頁面id值stock stock = new stock();stock.setid(id);/將id值賦給stock類的id屬性if (inview.equals(action) /若
21、action動(dòng)作為inview,則進(jìn)行顯示操作doinview(req, resp); else if (mod.equals(action) /若action動(dòng)作為mod,則進(jìn)行修改操作dogetmod(req, resp, stock); else if (add.equals(action) /若action動(dòng)作為add,則進(jìn)行添加同類藥品操作dogetadd(req, resp, stock); else if (addnew.equals(action) /若action動(dòng)作為addnew,則進(jìn)行添加新品種操作dogetnew(req, resp); else if (sellvie
22、w.equals(action) /若action動(dòng)作為sellview,則進(jìn)行售出瀏覽操作dogetsellview(req, resp); else if (sell.equals(action) /若action動(dòng)作為sell,則進(jìn)行售出操作dogetsell(req, resp, stock);private void dogetnew(httpservletrequest req, httpservletresponse resp)throws servletexception, ioexception string id = getid.getid();req.setattribu
23、te(id, id);req.getrequestdispatcher(/stock/addnew.jsp).forward(req, resp);private void dogetsell(httpservletrequest req, httpservletresponse resp,stock stock) throws servletexception, ioexception stock = ss.getinfo(stock);req.setattribute(stock, stock); /在頁面中調(diào)用的$ requestscope.stock 即在這里進(jìn)行定義req.getre
24、questdispatcher(/stock/sell.jsp).forward(req, resp); /將獲得的數(shù)據(jù)信息轉(zhuǎn)發(fā)到頁面sell.jsp中,方便在sell.jsp中調(diào)用stockprivate void dogetsellview(httpservletrequest req, httpservletresponse resp)throws servletexception, ioexception arraylist als = ss.getstocklist();req.setattribute(als, als);/在頁面中調(diào)用的$ requestscope.als 即在這
25、里進(jìn)行定義req.getrequestdispatcher(/stock/selllist.jsp).forward(req, resp);private void dogetadd(httpservletrequest req, httpservletresponse resp,stock stock) throws servletexception, ioexception stock = ss.getinfo(stock);req.setattribute(stock, stock);req.getrequestdispatcher(/stock/addstock.jsp).forwar
26、d(req, resp);private void dogetmod(httpservletrequest req, httpservletresponse resp,stock stock) throws servletexception, ioexception stock = ss.getinfo(stock);req.setattribute(stock, stock);req.getrequestdispatcher(/stock/modstock.jsp).forward(req, resp);stockservice ss = new stockservice();/創(chuàng)建serv
27、ice,用于輔助servlet和dao打交道private void doinview(httpservletrequest request,httpservletresponse response) throws servletexception, ioexception arraylist als = ss.getstocklist();request.setattribute(als, als);request.getrequestdispatcher(/stock/stocklist.jsp).forward(request,response); post方式下的功能實(shí)現(xiàn) public
28、 void dopost(httpservletrequest req, httpservletresponse resp)throws servletexception, ioexception string action = req.getparameter(action);if (mod.equals(action) domod(req, resp); else if (add.equals(action) doadd(req, resp); else if (new.equals(action) doaddnew(req, resp); else if (sell.equals(act
29、ion) dosell(req, resp); else if (stockin.equals(action) string name = req.getparameter(name);string pinyin = req.getparameter(pinyin);string incorp = req.getparameter(incorp);string sdate = req.getparameter(startdate);string edate = req.getparameter(enddate);dostockin(req, resp, name, pinyin, incorp
30、, sdate, edate); else if (sellhistory.equals(action) string name = req.getparameter(name);string pinyin = req.getparameter(pinyin);string buycorp = req.getparameter(buycorp);string sdate = req.getparameter(startdate);string edate = req.getparameter(enddate);dosellhistory(req, resp, name, pinyin, buy
31、corp, sdate, edate);private void dosellhistory(httpservletrequest req,httpservletresponse resp, string name, string pinyin,string buycorp, string sdate, string edate)throws servletexception, ioexception string sum = ss.getsellsum(name, pinyin, buycorp, sdate, edate);req.setattribute(sum, sum);arrayl
32、ist als = ss.searchsell(name, pinyin, buycorp, sdate,edate);req.setattribute(als, als);req.getrequestdispatcher(/stock/sellhistory.jsp).forward(req, resp);private void dostockin(httpservletrequest req, httpservletresponse resp,string name, string pinyin, string incorp, string sdate,string edate) thr
33、ows servletexception, ioexception string sum = ss.getinsum(name, pinyin, incorp, sdate, edate);req.setattribute(sum, sum);arraylist als = ss.searchstockin(name, pinyin, incorp, sdate,edate);req.setattribute(als, als);req.getrequestdispatcher(/stock/stockinlist.jsp).forward(req, resp);private void do
34、sell(httpservletrequest req, httpservletresponse resp)throws ioexception stock s = new stock();s.setid(req.getparameter(id);sell sl = new sell();sl.setdid(req.getparameter(id);sl.setcost(req.getparameter(cost);sl.setretail(req.getparameter(retail);sl.setamount(req.getparameter(amount);sl.setbuycorp(
35、req.getparameter(buycorp);sl.setselldate(req.getparameter(selldate);sl.setmoney(req.getparameter(money);sl.setpayee(req.getparameter(payee);/通過service與dao打交道,實(shí)現(xiàn)數(shù)據(jù)庫信息的增刪改。int i = ss.sell(sl);/ system.out.println(i);int j = ss.sell(s, sl);/ system.out.println(j);/用于測(cè)試if (i = 1 & j = 1) printwriter out
36、 = resp.getwriter();out.write(alert(出售成功!);window.location=(main.jsp); else printwriter out = resp.getwriter();out.write(alert(出售失?。≌?qǐng)重試!);window.history.go(-1);private void doaddnew(httpservletrequest req, httpservletresponse resp)throws ioexception, servletexception stock s = new stock();s.setid(re
37、q.getparameter(id);s.setname(req.getparameter(name);string pinyin = chinese2pinyin.getfirstletter(req.getparameter(name);s.setpinyin(pinyin);s.setnorms(req.getparameter(norms);s.setdrugtype(req.getparameter(drugtype);s.setplace(req.getparameter(place);s.setunit(req.getparameter(unit);s.setmemo(req.g
38、etparameter(memo);s.setcost(req.getparameter(cost);s.setretail(req.getparameter(retail);s.setamount(req.getparameter(amount);stockin si = new stockin();si.setdid(req.getparameter(id);si.setcost(req.getparameter(cost);si.setamount(req.getparameter(amount);si.setincorp(req.getparameter(incorp);si.setm
39、oney(req.getparameter(money);si.setindate(req.getparameter(indate);int i = ss.add(si);int j = ss.add(s);if (i = 1 & j = 1) printwriter out = resp.getwriter();/跳出對(duì)話框,顯示提示信息out.write(alert(添加成功!);window.location=(main.jsp); else printwriter out = resp.getwriter();out.write(alert(添加失??!請(qǐng)重試!);window.hist
40、ory.go(-1);private void doadd(httpservletrequest req, httpservletresponse resp)throws ioexception stock s = new stock();s.setid(req.getparameter(id);stockin si = new stockin();si.setdid(req.getparameter(id);si.setcost(req.getparameter(cost);si.setamount(req.getparameter(amount);si.setincorp(req.getp
41、arameter(incorp);si.setmoney(req.getparameter(money);si.setindate(req.getparameter(indate);int i = ss.add(si);/ system.out.println(i);/測(cè)試是否成功int j = ss.add(s, si);/ system.out.println(j);if (i = 1 & j = 1) printwriter out = resp.getwriter();out.write(alert(添加成功!);window.location=(main.jsp); else pri
42、ntwriter out = resp.getwriter();out.write(alert(添加失??!請(qǐng)重試!);window.history.go(-1);private void domod(httpservletrequest req, httpservletresponse resp)throws ioexception stock s = new stock();s.setid(req.getparameter(id);s.setname(req.getparameter(name);string pinyin = chinese2pinyin.getfirstletter(re
43、q.getparameter(name);s.setpinyin(pinyin);s.setnorms(req.getparameter(norms);s.setdrugtype(req.getparameter(drugtype);s.setplace(req.getparameter(place);s.setunit(req.getparameter(unit);s.setmemo(req.getparameter(memo);s.setcost(req.getparameter(cost);s.setretail(req.getparameter(retail);int i = ss.m
44、od(s);if (i = 1) printwriter out = resp.getwriter();out.write(alert(修改成功!);window.location=(main.jsp); else printwriter out = resp.getwriter();out.write(alert(修改失敗!請(qǐng)重試!);window.history.go(-1);(2) biz包的設(shè)計(jì),主要負(fù)責(zé)與dao包打交道stockdao sd = new stockdao();public arraylist getstocklist() / todo auto-generated method stubreturn sd.getstocklist();public stock getinfo(stock stock) / todo auto-generated method stubreturn sd.getinfo(stock);public int mod(stock s) / t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新版食品采購合同法規(guī)格式3篇
- 攪拌機(jī)購銷意向3篇
- 文藝演出藝人培訓(xùn)合同3篇
- 招標(biāo)文件購買注意事項(xiàng)3篇
- 城市供電設(shè)施維護(hù)合同協(xié)議書內(nèi)容
- 鞋店廣告牌安裝施工合同
- 礦山安全員聘用合同范例
- 證券工程分包協(xié)議
- 冰雪運(yùn)動(dòng)中心招商租賃合同
- 供應(yīng)鏈設(shè)施寫字樓租賃合同模板
- 上頜竇瘺修補(bǔ)術(shù)課件
- 支部書記辭職申請(qǐng)書
- 國家開放大學(xué)電大《美學(xué)原理》形考任務(wù)1-4試題和答案
- 現(xiàn)場(chǎng)生命急救知識(shí)與技能學(xué)習(xí)通期末考試答案2023年
- 清掃保潔及垃圾清運(yùn)承包合同
- 棋牌室合伙人協(xié)議
- 教師個(gè)人履職工作總結(jié)一級(jí)教師
- 國開電大本科《管理英語3》機(jī)考總題庫
- YY/T 0506.7-2014病人、醫(yī)護(hù)人員和器械用手術(shù)單、手術(shù)衣和潔凈服第7部分:潔凈度-微生物試驗(yàn)方法
- GB/T 5974.1-2006鋼絲繩用普通套環(huán)
- 藥品專業(yè)知識(shí)培訓(xùn)答案
評(píng)論
0/150
提交評(píng)論