版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
I中小食品批發(fā)公司在我國經濟發(fā)展中具有重要的地位,目前我國的中小食品批發(fā)公司數量多,隨著全球經濟一體化的發(fā)展和電子商務的興起,中小食品批發(fā)公司之間貨,因此帶來大量工作量及成本等的增加。為了提高工作效率降低成本,減少工作量,ery異步刷新技術和Struts2、Hibernate、Spring三大框架,使用Oracle設計數據庫。該系統(tǒng)主要實現系統(tǒng)用戶管理、AbstractmallandmediumenterprisesinChina’salargenumberofvelopmentofglobaleconomicintegrationandtheriseofe-commerce,thecompaniesbetweensmallandmedicem-sizedenterprisessmanysetousemorefrequenciesbutsmallamounttopurchase,duetoitwhichbringsalargeworkloadandaddmuchmoneeducetheworkload,soexplorethissystem.ThesystemiswritteninJSP,themainapplicationoftheAjax,Jquery,andStrust2,Hibernate,SpringthesethreeframeworkandtheOracledesigndatabase。ThesoftwaremainlyhealizestheAolministorManagement,FoodManagement,SuppliersandOrdersmanagement,makingSalesorder’sdeliverandstockgoods,finallyputinstorage。Abstract?錯誤!第1章課題簡介?錯誤!未定義書簽。1.2研究內容?錯誤!未定義書簽。第5章測試82? 30參考文獻13?1化是參與競爭的必要條件,但是中小食品公司的多樣性及其靈活多變的經營方式,加上其資金投入量的限制,使得很多中小食品批發(fā)公司沒能進行信息化建設。實際上大部而隨著社會的不斷發(fā)展,計算機被廣泛應用于各行各業(yè)之中。用計算機管理軟件對公司業(yè)務進行管理更是一種行業(yè)發(fā)展趨勢,也是衡量一個國家技術發(fā)展水平的標志。和有效性。因此在食品批發(fā)公司使用計算機管理軟件進行進貨、銷售、庫存等管理是適應發(fā)展需要設計本系統(tǒng).高科技的發(fā)展,軟件管理系統(tǒng)成為工作的得力助手。今天,計算機價格越來越大眾化,管理軟件性能越來越優(yōu)秀,逐漸被應用于眾多領域.管理軟件廣泛普及應用的原因本食品進銷存管理系統(tǒng)是基于先進的軟件和高速、大容量的硬件基礎上的新的進2個環(huán)節(jié)的管理、調度及資源配置,使得管理合理規(guī)范。系統(tǒng)盡量合理的控制物流是食品庫存的控制,將食品數量控制到只在需要的時候向需要的部門按需要貨,以免增加庫存,造成物資和資金的積壓,實現食品銷售的全方面管理。通過系統(tǒng)實現從基礎數據維護、進貨直到銷售后利潤統(tǒng)計的一系列功能。簡化手工勞動的繁雜性、降低人工勞動強度、提高數據的時效性、提高工作效率、降低經營成本,為管理層決策提供強有力的支持。本系統(tǒng)還要考慮到經濟、技術和運行環(huán)境等方面的條件,來確定系統(tǒng)的總體結構3根據對一般中小食品批發(fā)公司的調查研究,其對系統(tǒng)的日常經營管理需求分析為:擇食品供應商,最后確認制單.進貨的食品到貨后倉庫員再入庫,并對食品數量進行調整,然后財務員付款完成交易。食品訂貨商予訂購食品時,通過電話與批發(fā)公司的銷售最后財務員確認收款完成交易。倉庫管理中,對食品庫存、食品庫存金額進行記錄.記根據調查分析,該系統(tǒng)完成如下具體任務:(2)進貨訂單流程:進貨員選擇食品,選擇供應商,倉庫管理員入庫,制單員確認完(3)銷售訂單流程:銷售員選擇訂貨商,選擇食品、倉庫管理員發(fā)貨、分銷員確(4)食品管理:管理食品類別信息、食品品牌信息、食品名稱、食品數量和食品單價信息、食品庫存等基本信息.用例模型是面向對象分析與設計的概念模型,一般用于前期的需求研45第3章總體設計經過需求分析之后,進入總體設計階段.總體設計其目標是產生一個模塊化的程序結構,根據需求分析階段的工作,從用例模型得出可行方案,同時確定系統(tǒng)中每個程此模塊中封裝角色權限。RBAC管理菜單模塊功能結構圖如圖3—1所示。RBACRBAC管理菜單用戶管理圖3—1RBAC管理菜單模塊功能結構圖品、輸入食品個數,之后選擇供應商完成訂單的創(chuàng)建。入庫管理實現進貨訂單明細查詢、入庫確認。經理操作實現所有訂單的查看和創(chuàng)建進貨訂單。進貨訂單管理模塊功能結構圖如圖3—2所示.進貨訂單進貨訂單入庫管理進貨訂單管理經理操作3.銷售訂單管理模塊包括訂單管理、訂單發(fā)貨管理、確認訂單交易、經理操作四創(chuàng)建銷售訂單時需要操作員選擇食品、輸入食品數量,之后選擇分銷商完成訂單創(chuàng)6訂單發(fā)貨管理實現銷售訂單查詢、發(fā)貨確認。確認訂單交易實現訂單檢索、確認此訂單交易完成。經理操作實現所有銷售訂單查詢、確認訂單交易完成。銷售訂單管理模訂單管理訂單管理訂單發(fā)貨管理銷售訂單管理確認訂單交易經理操作圖3—3銷售訂單管理模塊功能結構圖供應商管理供應商管理客戶管理訂貨商管理圖3-4客戶管理模塊功能結構圖食品的進貨訂單信息。食品銷售記錄實現對該食品的銷售訂單查詢。食品類別實現食食品管理食品管理食品銷售記錄倉庫管理食品類別食品品牌7數據庫系統(tǒng)的使用過程是將現實世界的數據經過人為加工和計算機處理之后,又為現實世界提供信息的過程[3]。1。PURCHASEORDERDETAILSID表3—1PURCHASEORDERDETAILSID字段類型小數位數是否允許空字段說明PURDETAILSIDNUMBER38—否詳細進貨訂單idPURCHASERIDNUMBER38—否進貨商PRODUCTNUMBER—否食品PRODUCTQUERYNUMBER—否訂貨數量PRODUCTPRICENUMBER72否食品單價PRODUCTMONEYNUMBER72否訂單總價SFRKVARCHAR26-否是否入庫PURCHASEORDERIDNUMBER38—否進貨訂單編號QRRKYNUMBER—是入庫員NUMBER38-否進貨員JYZTNUMBER—否訂單狀態(tài)CT(食品信息表):用于存儲食品基本信息,表結構如表3—2所示。表3—2PRODUCT字段名字段類型小數位數是否允許空字段說明PRODUCTIDNUMBER38 否食品idARPRODUCTNUM2-否食品編號PRODUCTSELLPRICENUMBER72否銷售單價PRODUCTSURPLNUMBER—是庫存量8NUMBERVARCHAR 否類別2—否食品名稱表3—3ORDER字段名字段類型小數位數是否允許空字段說明ORDERIDNUMBER—否訂單idORDERNUMVARCHAR216 否訂單編號ORDERTIMEDATE 否制單時間ORDERMONEYNUMBER92否訂單總價CUSTOMNAMENUMBER-否訂貨商ORDERACTIVATEVARCHAR26-否訂單狀態(tài)ORDERCONSIGNORNUMBER—否發(fā)貨員PAYMONEYVARCHAR26—否是否付款EMPLOYEENUMBER—否制單員ORDERTIMEDELIVERYDATE——否發(fā)貨時間ORDERACTUALCOSTMONEYNUMBER92否實際付款金額PAYMONETEMPNUMBER38 否確認收款員JYZTVARCHAR26 否交易狀態(tài)4。ORDERDETAILSID(銷售訂單詳細信息表):用于存儲銷售訂單詳細信息,表結構如表3—4所示。表3—4ORDERDETAILSID字段名字段類型小數位數是否允許空字段說明ORDERDETNUMBER—否詳細訂單idORDERNUMNUMBER—否訂單編號CTNAMENUMBER 否PRODUCTQUERYNUMBER-否訂貨數量PRODUCTPRICENUMBER72否食品單價9訂單狀態(tài)否訂單狀態(tài)否Y72否訂單總價CATRYNUMBER 否食品類型AND 否食品品牌NUMBER—否食品品牌5.PURCHASEORDER(進貨訂單信息表):用于存儲進貨訂單信息,表結構如表表3—5PURCHASEORDER字段名字段類型小數位數是否允許空字段說明MBER 否進貨訂單idPURCHASD 否進貨訂單號NUMBER92否訂單總額--否制單時間-否進貨商PUHASERACTIVVARCHAR2 NUERVARC—否制單員6 否交易狀態(tài)QUENEMP 否確認人表3—6EMPLOYEE字段名字段類型小數位數是否允許空字段說明ID—否—否用戶登錄名ENAME否—-否-否否否GENDERACTIVATEVISITWORKBIRTHDAYYJROLEAUTHVARCHARNUMBERDATEDATENUMBERVARCHAR2VARCHAR2VARCHAR2216682 用戶狀態(tài)上次登錄時間入職時間業(yè)績權限表3—7PURCHASER字段名字段類型小數位數是否允許空字段說明NUMBER—否供應商idPURNAMEVARCHAR2—否供應商名稱PURUSERVARCHAR210—是聯系人VARCHAR2-是PURADD—是地址表3-8CUSTOMER字段名字段類型小數位數是否允許空字段說明CUSTOMIDNUMBER—否訂貨商idCUSTOMNAVARCME—CUSTOMTELVARCHAR250—是CUSTOMADVARCHAR2—是地址DNUMBER—是XYNUMBER3—是信用評價表3—9BRAND字段名字段類型小數位數是否允許空字段說明BIDNUMBER—否食品品牌idBRANDNAMEVARCHAR2 否食品品牌名稱表3-10GATEGORY字段名字段類型小數位數是否允許空字段說明CATEGORYIDNUMBER-否食品類別idCATEGORYNAMEVARCHAR250-否食品類別名稱登錄界面的設計過程是先創(chuàng)建一個名為login.jsp的頁面,然后在頁面中添加一ginname和password,并提供一個登錄按鈕用于讓用戶提交表單.在后臺,創(chuàng)建個LoginAction的Struts2控制器類,用于處理用戶登錄,通過struts2功能,取出loginname和password的值,之后把值添加到hql語句中去數據庫查詢,在LoginAction中設置一個名為error的域成員,用于登錄失敗時提圖4—1系統(tǒng)登錄界面4.2系統(tǒng)主界面設計系統(tǒng)主界面是系統(tǒng)用戶登錄后進入的界面,設計過程是先新建一個名為main.jsp的頁面,通過框架對界面進行設計。左面引用的界面為menu。jsp,用于顯示當前登錄用戶名稱的標簽,及本系統(tǒng)的各個功能模塊的入口鏈接.當用戶單擊左側各個功能模塊時,架框右則會通過超鏈接跳轉到各自相應的操作界面.系統(tǒng)主界面如圖4—2所4。3功能模塊設計1。進貨訂單管理界面rchaseOrderAction的Struts2控制器類,該類定義了檢索、修eOrderActiondddate(制單日期)、檢索,可進行單一條件或多條件檢索。系統(tǒng)中進貨訂單編號是由后臺PurOrder進貨訂單經理操作界面為purorder/jlcz.jsp.在頁面中插入一個表格,用于顯后臺創(chuàng)建PurchaseOrderAction的Struts2控制器類,該類定義了檢索、修bh(條件或多條件檢索。進貨訂單管理經理操作界面如圖4-4所示。圖4—4進貨訂單管理經理操作界面3。進貨訂單創(chuàng)建界面單擊進貨訂單管理界面中的“創(chuàng)建訂單”進入進貨訂單創(chuàng)建界面。進貨訂單創(chuàng)建界面為purorder/table。jsp.使用ajax技術實現選擇食品,每行提供“刪除"按鈕,PurchaseOrderAction中的save方法,來確認保存訂單食品。進貨訂單創(chuàng)建界面如面為purorder/selectTable。jsp。在頁面中插入一個表格,表格顯示食品的相應信息,通過ajax來傳遞到進貨訂單創(chuàng)建界面,并且用PurchaseOrderAction中的productIds域成員來保存食品id,將選過的食品框變?yōu)椴豢蛇x,防止用戶重復選擇食n中save5。銷售訂單管理界面單相應信息.條件檢索功能由OrderAction中的域成員對應檢索條件,單擊“檢索”時ddbh(訂單編號)、dddate(制單日期)、wcdate(發(fā)貨日期)、customId(訂貨商)、employeeId(發(fā)貨員)通過struts2進行賦值,之后把值添加到hql語句中去數據庫查詢,可單一條件伙伴多條件檢索。銷售訂單編號是由后臺OrderAction的類完成的,“dd”表示銷售訂單,之后八位是當天rderAction中獲取session中的登錄id,只查詢該id創(chuàng)建的訂單。銷售訂單系統(tǒng)設計過程中采用了Ajax技術,其作用是提供網頁瀏覽者與網頁內容的交互,單擊銷售訂單管理界面中的“編輯”進入銷售訂單編輯界面,銷售訂單編輯table。jsp。在頁面中插入一個表格,表格顯示銷售訂單明細信息.當輸入購買數量時使用ajax技術自動取出食品單價與食品數量的值并算出所需金額.單擊derDetailsActionpathorder/list.jsp。在頁面中插入一個表格,表格顯示銷售訂單相關信息。上方檢索功能由后臺DispathO索條件,單擊“檢索”時ddbh(訂單編號)、dddate(制單日期)、custom(訂oney(付款狀態(tài))、wczt(交易狀態(tài))條件通過struts2功能自動對其賦值。單擊每行訂單時,DispathOrderAction的類中的orderList域成員的信息可在其下面顯示,再次單擊則隱藏。訂單發(fā)貨管理界面如圖4—9所示。圖4—9訂單發(fā)貨管理界面銷售訂單經理操作界面為dispathorder/jlcz.jsp。在頁面中插入一個表格,表格rderAction中的域成員對應檢索條件,單擊“檢索"時ddbh(訂單編號)、dddate(制單日期)、custom(訂(交易狀態(tài))、fdate(發(fā)貨日期)、fxyId(分銷員)、skyId(收款員)條件通過struts2功能自動對其賦值。可按單一或多條件進行檢索。單擊每行訂單時,檢索其明細在下圖4-10銷售訂單經理操作界面供應商管理界面為purchaser/list.jsp。在頁面中插入一個表格,表格顯示供應商信息。后臺使用PurchaserAction類中的add、edit、list、delete等方法來實現圖4-11供應商管理界面單擊供應商管理界面中的“新增供應商”進入新增供應商界面,新增供應商purchaser/edit.jsp.在頁面中插入一個表格插入三個文本框,設置其id和name屬性,單擊“保存”按鈕時purchasername(供應商名稱)、purchasertel(供haserAction類中的相對應域成員中,之后用save方法保存供應商。新增供應商圖4—12新增供應商界面訂貨商管理界面為custom/list.jsp.在頁面中插入一個表格,表格顯示供應商信息。后臺使用CustomAction類中的add、edit、delete、list方法來實現對訂貨單擊訂貨商管理界面中的“新增訂貨商”進入新增訂貨商界面,新增訂貨商m/edit.jsp.omadd(訂貨商地址)通過struts2的功能賦值,將值傳到后臺CustomAction類中的食品管理界面為product/list.jsp。在頁面中插入一個表格,表格顯示食品信息.在后臺建立ProductAction的類,使用里面的list、add、edit、mingxi、de由后臺ProductAction中的域成員對應檢索條件,單擊“檢索"時productna14。食品銷售記錄界面食品銷售記錄界面為product/profit。jsp.下方顯示該食品的銷售訂單,再單擊則隱藏。上方檢索功能由后臺ProductAction中的域成員對應檢索條件,單擊“檢索”時productname(商品名稱)、category(食品類型)、brand(食品品牌)、pxff(排序方法)條件通過struts2功能自動對其賦值??砂磫我换蚨鄺l件進行食品檢索。食品銷售記錄界面如圖員工管理界面為employee/list.jsp。在頁面中插入一個表格,表格顯示員工信息。在后臺使用EmployeeAction類中的list、edit、save、delete、saverole方法來實現對員工的檢索、編輯、保存、刪除、設置角色操作.上方檢索功能由后臺EmployeeAction中的域成員對應檢索條件,單擊“檢索"時empname(員工名)條件通過struts2功能自動對其賦值.最后訪問時間是在退出登錄的時候通過后臺的logoutAction類來修改的。員工管理界面如圖4—1單擊員工管理界面中的“增加員工”進入員工新增界面,員工新增界面為ployeeAction8所示.系統(tǒng)測試的重要性體現在它是保證系統(tǒng)質量與可靠性的最后關口,是對整個系統(tǒng)開發(fā)過程包括系統(tǒng)分析、系統(tǒng)設計和系統(tǒng)實現的最終審查。系統(tǒng)測試的對象顯然不僅僅是源程序,而應是整個軟件,它把系統(tǒng)分析、系統(tǒng)設計、以及程序設計各階段的開發(fā)文檔,都作為測試的對象。軟件測試不等于程序測試,它是根據軟件開發(fā)各個階段的以發(fā)現程序錯誤的過程[7]。單元測試是指程序中的一個模塊或一個子程序,是程序運行的最小單元,或是程序最小的獨立編譯單位.單元測試是軟件開發(fā)過程中進行的最低級別的測試活1。創(chuàng)建銷售訂單測試測試結果:可口可樂購買數量下方提示“此貨物購買數量不能大于庫存量”,統(tǒng)一填寫或部分填寫不能成功增加用戶,并給出相應的提示信息,與預期結果相不填寫的測試界面如圖5—2所示。測試結果:正確時點擊登錄,進入系統(tǒng)主界面。用戶名密碼錯誤時,短暫的畢業(yè)設計結束了,我在這次設計過程中實現了對過去所學知識的回顧、總本管理系統(tǒng)能夠實現數據的輸入、查詢、修改、刪除、統(tǒng)計等功能,能夠追朔到是以平均價格來進行計算利潤,用庫存金額除以庫存數量,之后用售出單價減去平均進價來計算,正規(guī)方法應該是在食品進貨訂單中加標注,賣出的食品到相對應的進貨訂單中檢索出進貨價格,進行計算利潤;還有用戶部門沒有進行分配,這個缺點是在需求分析時沒有寫進去,之后總體設計的時候也沒有考慮到,導致用戶沒有部門的缺陷,但是此缺陷可以在今后升級中修復;另外在選擇供應商時候,應該可以查詢出該供應商都能升級程序過程中修復。[1]張俊蘭,王文發(fā),馮伍,軟件工程(第一版)[M],西安:西安交通大學出版社,(2009):41—4420076—7[7]宮云戰(zhàn),軟件測試教程[M],北京:機械工業(yè)出版社,(2008):9—11pplication.xml(Spring配置文件,這個文件主要是用來配置系統(tǒng)數據庫連接等信息)<beansxmlns=”http://www。springframework.org/schema/beans”xmlns:xsi=”/2001/XMLSchema-instance"xmlns:context=”http://www./schema/context"xmlns:tx="http://www。springframework.org/schema/tx"xmlns:aop="http://www。springframework.org/schema/aop"n=??http://www。springframework.org/schema/beanshttp://www./schema/beans/spring-beans—3.http://www.springframea/contexthttp:///schema/context/spring—context—3。http://www。springframew/schema/aophttp://www.springframework。org/schema/aop/shttp://www.springframew/schema/txhttp://www。springframewor/schema/tx/spring-tx—3。0。xsd"default—autowire=”byName">〈!--配置jdbc數據源—->〈beanid="myDataSource"class=”mons.dbcp.BasicDataSource”destroy-method=”close"〉?<propertyname=”driverClassName"value=”oracle.jdbc.driver.OracleDriver”/〉?〈propertyname=”url"value="jdbc:oracle:thin:@127.0.0。1:1521:liufei"/〉?〈propertyname=”username”value="ddgl”/〉?〈propertyname="password"value="ddgl"/>?〈/bean>〈!—-配置hibernate抽象工廠-->?<beanid="sessionFactory”?class="org.springframework.orm。hibernate3.LocalSessionFactoryBean"〉?〈propertyname=”dataSource"ref="myDataSource"/〉〈propertyname=”mappingLocations"><!——如果你有很多hbm寫起來很?〈list>lue>classpath:/com/material/hbm/*.hbm。xml</value〉???〈/list>??</property〉ropertyname="hibernateProperties"〉?<value〉??hibernate.dialect=org。hibernate。dialect.OracleDialect????hibernate.show_sql=true??hibernate.cache.use_query_cache=true??hibevider__class=org.hibernate.cache.EhCacheProvider?</value>??〈/property><!-—配置事務管理器ref應該和上面的jdbc數據源的id相同-—〉<beanid="txManager"class="org.springframework。jdbc.datasource。DataSourceTransactionManager"><propertyname="dataSource”ref=”myDataSource”/>〈!--配置Aop——>〈aop:config〉?〈aop:pointcutid="entryPointMethod”expression="execution(*com.material.。*Service。*(。.))"/>visor?advice-ref="txAdvice”pointcut—ref=”entryPointMethod”?order=”2"/>?〈!——配置切面(刪掉around)執(zhí)行表達式同上—-〉〈aop:aspectid="profilingAspect"ref="profiler">?<aop:pointcutid=?serviceMethodWithReturnValue"n=?executioncom.material..*Service.*</aop:config〉?<!——配置參考通知--><tx:adviceid=”txAdvice”transaction—manager=”txManager"〉<tx:attributes〉〈!—-以get開頭的方法,只讀(即不開啟事務)——〉??〈tx:methodname=”get*?read—only="true"/〉me=?*?/>?〈/tx:attributes>?</tx:advice><!--配置注解--><context:component-scanbase—package=”com。material”/>〈context:annotation-config/></beans>2。Struts。xml(Struts2配置文件,這個文件主要是用來配置頁面轉發(fā))〈?xmlversion=”1.0”encoding="UTYPEstrutsPUBLIC”-//ApacheSoftwareFoundation//DTDStrutsConf2。dtd”><packagename=?default"extends="struts—default”>?<resultname=’login'〉/main/master。jsp</result>〈resultname=?dist'〉/orders/list。jsp〈/result>?〈resultname='list’>/{1}/list。jsp〈/result〉?〈resultname='edit’〉/{1}/edit。jsp</result〉<resultname='add'>1}/add.jsp</result>?〈resultname='ordersEdit'>/orders/uptable.jsp</result><resultname='purchEdit’>/purchaseOrder/uptable.jsp</result〉?〈resultname=’orderDetails'〉/orders/table.jsp〈/result〉/{1}/selectTable。jsp</result>?<resultname=’bccg’>/purchaseOrder/bccg.jsp</result>〈resultname=’spbccg’>1}/bccg.jsp〈/result〉?<resultname=?xiaoshou’〉/{1}/profit.jsp〈/result>??〈resultname=’PurOrd’〉/pu<resultname=’auth’>/modules/auth。jsp</result〉??<resultname='roleAuth'〉/role/roleAuth。jsp</result〉tname='empRole'>/employee/empRole.jsp〈/result〉??<resultname='distRole’〉/distributor/distRole.jsp</result〉?<resultname='ddcg’>/operateResult/ddcg.jsp〈/result〉?<resultname='jycg’〉/operateResult/jycg.jsp</result〉?<resultname=’dlsb’>/login.jsp〈/result>??〈resultname='fhcg’>/operateResult/fhcg.jsp〈/result>patchOrder/jywcList。jsp</result〉〈resultname=’xiaoshoujlcz’>/dispatchOrder/jinglicaozuo。jsp</result>?<resultname=’notAlreadyOrder'>/dispatchOrder/notAlreadyList。jsp〈/result〉〈resultnameqhlist’>/{1}/qhlist。jsp〈/result>/product/autoOrder。jsp</result><resultname=’logout’〉/login.jsp〈/result>〈resultname=’paymoney'〉/orders/selectOD.jsp〈/result>??<resultname=?mingxi’〉/orders/mingxi。jsp〈/result>?〈resultname='peizhipurchaseOrder/peizhitable.jspresult〉?〈resultname=’queren’〉/purchaseOrder/queren.jsp〈/result〉?〈resultname=’wancheng’〉/purchaseOrder/wancheng.jsp</result>?〈resultname='ruku'>/purchaseOrder/ruku。jsp〈/result〉tname=’jhjlcz'>/purchaseOrder/jlcz。jsp</result>?<resultname=’spjhmx’>/product/jhxq。jsp</result>〈resultname='spjhmx2'〉/product/jhxq2.jsp</result〉</action>?<actionname=’main'><result>/login。jsp〈/result>?</action〉</package></struts>3.LoginAction。java(用戶登錄驗證)packagecom.material.action;@Scope("prototype”)ontrollerpublicclassLoginActionextendsActionSupport{?privateLoginServiceloginService;erviceservice){??this。service=service;publicvoidsetLoginService(LoginServiceloginService){??this。loginService=loginService;}?publicStringexecute(){Stringpath=”dlsb";?Map〈String,List<String〉>authMap=newHashMap<String,List<String>〉();??id=loginService。get(loginname,password,type,id,authMap);f(id!=null){??user=(Employee)commonDao。get(Employee。class,Integer.parseInt(id;??path=?login”?}else{?}?ActionContext。getContext().getSession()。put(”user”,user);ActionContext。getContextgetSessionput("AUTHS",authMap);?ActionContext.getContext().getSession().put("id”,id);returnpath;?}?privateStringid;privateStringtype;privateEmployeeuser;privateStringloginname;?privateStringpassword;?privateStringsavepasswd;?privateStringerr;/*訂貨商集合*/?privateList<Custom>customList=newArrayList<Custom〉();?/*發(fā)貨員集合*/privateList<Employee〉fhyList=newArrayList〈Employee>();publicList<Employee>getFhyList(){??returnfhyList;?}?publicvoidsetFhyList(List〈Employee>fhyList){??this。fhyList=fhyList;?}?publicList〈Custom〉getCustomList(){?returncustomList;publicvoidsetCustomList(List〈Custom>customList){?this。customList=customList;publicCommonDaogetCommonDao(){?}?publicvoidsetCommonDao(CommonDaocommonDao){?this。commonDao=commonDao;?}?publicLoginServicegetLoginService{?returnloginService;}?publicServicegetService(){returnservice;}publicStringgetId{??returnid;}publicvoidsetId(Stringid){this.id=id;publicStringgetType(){returntype;publicvoidsetType(Stringtype){?this。type=type;}publicStringgetErr(){??returnerr;?}publicvoidsetErr(Stringerr){?this。err=err;?}?publicStringgetLoginname(){returnloginname;?}?publicvoidsetLoginname(Stringloginname){?this。loginname=loginname;}?publicStringgetPassword(){??returnpassword;?}publicvoidsetPassword(Stringpassword){?publicStringgetSavepasswd(){}publicvoidsetSavepasswd(Stringsavepasswd){??this.savepasswd=savepasswd;?}?publicEmployeegetUser(){}?publicvoidsetUser(Employeeuser){}}login。jsp(用戶登錄頁面)<%@pagelanguage="java”import="java。util。*"pageEncoding=”UTF—8”%〉iburi=”/struts-tags”prefix="s”%><!DOCTYPEHTMLPUBLIC”—//W3C//DTDHTML4.01Transitional//EN"〉〈head〉<title〉MyJSP’login.jsp'startingpage〈/title>〈metahttp—equiv=”pragma"content=?no—cache"〉?〈metahttp-equiv="cache—control”content="no-cache”><metahttp-equiv=”expires”content="0”〉?<metahttp—equiv=”keywords”content=”keyword1,keyword2,keyword3”>?<metahttp—equiv="description”content=”Thisismypage”〉?〈!-??<linkrel=”stylesheet"type="text/css”href="styles.css”〉et"type="text/css”media="all"/>〈scriptsrc=”<s:urlvalue=’/order/js/jquery-1。4。2。min。js'/>”type="text</head><bodybgcolor="skyblue”>〈divalign=”center">?<h2>食品進銷存管理系統(tǒng)〈/h2>〈br/〉〈br/>〈br/〉〈br/〉〈br/〉〈br/〉<br/><formaction="loginAction。action”method='post’〉<tablewidth=”50%”border="0"cellpadding="0”cellspacing=”2”align="center"〉?<tr〉??<td>用戶名td>??〈td〉<inputtype="text”name='loginname’value=''/?<td>密碼</td>??<td><inputtype=”password”name=’password’value=’’/〉〈/td></tr>??〈td〉〈h3><fontcolor=”red">${err}〈/font>〈/h3>〈/td〉??</tr〉?〈tr〉?<inputtype="checkbox"name=’savePasswd’value='a'〉記住密碼??<inputtype="submit"value=’登錄'/>??</td>??</tr>?</table〉</form></div>5。order/list。jsp(銷售訂單及發(fā)貨頁面)〈%@pagelanguage="java”import="java.util.*?pageEncoding="UTF—8”%〉〈%@tagliburi="/struts—tags"prefix=”s"%〉<%@tagliburi=”http://lfthdd。lft.hdd/tags”prefix=”hdd"%>〈%@pageimport=”java.text.*”%〉Stringdatetime=newSimpleDateFormat("yyyy—MM—dd")。format(Calendar.getInstance().getTime(;//獲取系統(tǒng)時間Stringdate=newSimpleDateFormat("yyyyMMdd”)。format(Calendar。getInstance().getTime(〈%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://”+requ+”:"+request.getServerPort()+path+"/”;%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN”"http/www。w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”><html〉<head〉〈metahttp—equiv="Content—Type"content="text/html;charset=utf-8"/〉=7”/〉〈title>庫存管理業(yè)務系統(tǒng)〈/title〉<linkhref=”orders/css/main。css"rel=”stylesheet”type="text/css”〈linkrel="stylesheet”type=”text/css"href=”css/style.css"〉<scriptsrc=”order/js/jquery—1。4。2.min.js”type="text/javascript”>〈/script>xt/j?functionadd1(){??vardistId=document。getElementById('distId’)。value;??location。href=’〈s:urlvalue="/ordersAction.action?method=add&distId=”/>'+di}?functionadd(){location。href=’<s:urlvalue="/orderControl.do?method=getlist”/>';}??functionedit(orderid){??if(confirm("確定此訂單要發(fā)貨?”)){??location.href='dispatchOrderAction。action?method=edit&orderid=’+orderid;??returntrue;}???}?functionchangecolor(tr){?//改變鼠標指定行的顏色oundColor='#666699’;}???functionoutColor(tr,color){?//?改變鼠標指定行的顏色???tr.style.backgroundColor=color;?}</script〉?〈scripttype=”text/javascript”>functiontoggle(span){?//找出span的父節(jié)點?varul=span.parentNode;//取出所有ul子節(jié)點??varlis=ul。childNodes;?//判斷是否是li節(jié)點??for(vari=0;i〈lis。length;i++){???varnode=lis[i];??//這里li必須大寫LI???if(node.nodeNameUL'){????//判斷當前狀態(tài)block是顯示??if(node。style.display!='block'){ay=?block’???node。style.display='none’;}???〈/script〉〈/head>〈bodyclass=”content—pages—body">〈divclass=”content—pages-wrap”>?<divclass="commonTitle">〈h2>&gtgt;訂單管理&nbspgt;>; 訂單列表</h2〉〈ahref='〈s:urlvalue="/logoutAction.action”/〉’class=”btnLong"title="安全登出”>安全登出</a></div〉<s:formid=”form—search”name=?orderForm”action=”dispatchOrderAction。action?method=list"method="post"theme="simple"〉?〈tablewidth=”100%?border="0"cellspacing="0"cellpadding=”0"class="commonTableSearch”〉?<tr><thalign="right">訂單編號:</th>?<td>〈s:textfieldname=”ddbh"class=”inputTextNormal”id="ddbh"/>〈/td>?〈th>制單日期:〈/th><td〉〈s:textfieldname=?dddate”class="inputTextNormal"id=”dddata"/〉〈/td><td〉<s:textfieldname="fhdate"class="inputTextNormal"id=”fhdata〉〈/td>?〈tdalign="left"〉<s:select?label="選擇訂貨商”ist="customList”name=”customId"listKey="customid"?listValue=”customname"?emptyOption="false"value=”customId"headerKey=”"headerValue="—選擇訂貨商—”?〈tdalign="left”><s:select?label=”選擇發(fā)貨商”?listfxyList”???name="fxyId"?listKey=?id”?listValue="ename"??emptyOption="false"?value=”fxyId"headerKey=””headerValue=”—倉庫員-”/></td〉</tr>ign=”right">訂單狀態(tài):〈/td>?〈td〉?<s:radioname=”activate”list="{'已發(fā)貨':'已發(fā)貨’未發(fā)貨':'未發(fā)貨','2’:'全部’}}”theme="simple”〉</s:radio>????〈tdalign="right”〉付款狀態(tài):</td>???〈td〉?<s:radioname=”pm”list="%{#{'已付款':’已付款’,’未付款’:’未付款',’2':’全部’}}”theme="simple”〉</s:radio〉〈/td〉???〈tdalign=”right”〉交易狀態(tài):〈/td>?〈tdalign=”left”〉??〈s:radioname="jyzt”list="%{#{'已完成’:'已完成’,'未完成':’未完成’,’2':'全部’”theme=”simple”>〈/s:radio〉??</td>?<inputtype=”submit”value='檢索'class=?btnLong"/〉〈/tr></s:form〉〈!——//commonTableSearch--〉〈tablewidth="101%"border=”0"cellpadding=”0”cellspacing="1"〉<thwidth=”6〉序號〈/th〉<thwidth=”10%"〉訂單編號</th>〈thwidth="8%"〉制單日期</th><thwidth="8%">制單員〈/th〉<thwidth=”8%”>訂貨商</th〉〈thwidth="8%"〉訂單狀態(tài)〈/th〉〈thwidth="8%">是否付款〈/th>〈thwidth=”8%?>訂單金額〈/th〉〈thwidth=”8%?>實際付款〈/th〉<thwidth="8%”〉發(fā)貨時間</th〉<thwidth=”6%">發(fā)貨員</th〉〈thwidth=”8%”>交易狀態(tài)</th>〈thwidth=”6%">發(fā)貨</th>〈/table>〈s:iteratorvalue='orderList'var=’ord’status="s"><divid=”audi”align=”center">?<spanonclick='toggle(this)’〉<divid="t${orderid}”style="width:1065px;height:30px;float:left"class=’${s。count%2==0?"even”:”odd"〉?〈divid=”1c${orderid}?style="width:6%;height:30px;float:left;vertical—align:middle;line—height:30px〈s:propertyvalue='#s。count'</div〉?<divid=”2c${orderid}"style=”width:10%;height:30px;float:left;vertical—align:middle;line-height:30px>”<s:propertyvalue??〈divid=”3c${orderid}”style="width:8%;height:30px;float:left;vertical-align:middle;line—height:30px;”〉<s:propertyvalue='ordertime'/〉</div>??<divid="4c${orderid}”style=”width:8%;height:30px;float:left;vertical—align:middle;line-height:30px>”<s:propertyvalue='employeeByEmployeeid。ename’/〉〈/div>?<divid="5c${orderid}"style="width:8%;height:15px;float:left;veign:middle;line—height:30px;?>〈s:propertyvalue='custom。customname’/〉</div〉?〈divid=”6c${orderid}”style="width:8%;height:30px;float:left;vertical-align:middle;line-height:30px>”<s:propertyvalue='orderactivate'/>〈/div〉?<divid=”7c${orderid}”stylewidth:8%;height:30px;float:left;vertical-align:middle;line-height:30px;"〉〈s:propertyvalue=’paymoney'/>〈/div〉???〈divid=”8c${orderid}"style=”width:8%;height:30px;float:left;vertical-align:middle;line-height:30px>”<s:propertyvalue=’ordermoney’/></div〉??〈divid="9c${orderid}"style=”width:8%;height:30px;float:left;vertical—align:middle;line—height:30px;”〉〈s:propertyvalue='orderactualcostmoney'/〉〈/d?<divid=”10c${orderid}"style=”width:8%;height:30px;float:left;vertical-align:middle;line-height:30px;"><s:propertyvalue=’ordertimedelivery’/〉〈/div>???〈divid="11c${orderid}"style="width:6%;height:30px;float:left;vertical-align:middle;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年石家莊科技信息職業(yè)學院單招綜合素質考試模擬測試卷必考題
- 2026年湖北省黃石市單招職業(yè)適應性考試題庫附答案
- 2026年岳西縣部分縣直事業(yè)單位公開選調工作人員備考題庫參考答案詳解
- 2026年湖南大眾傳媒職業(yè)技術學院單招職業(yè)適應性測試模擬測試卷附答案
- 2026年南平市屬醫(yī)療衛(wèi)生單位第九屆“人才·南平校園行”緊缺急需人才招聘備考題庫及參考答案詳解1套
- 2026年關于招聘藥劑科藥劑師的備考題庫完整答案詳解
- 2026年石家莊財經職業(yè)學院單招職業(yè)技能考試題庫附答案
- 2026年廣安市中醫(yī)醫(yī)院招聘8人備考題庫參考答案詳解
- 2026年電工基本知識試題及答案(名校卷)
- 2026年湖南工程職業(yè)技術學院單招職業(yè)適應性測試模擬測試卷及答案1套
- 2026長治日報社工作人員招聘勞務派遣人員5人參考題庫完美版
- 假體豐胸培訓課件
- 中建八局項目如何落實鋼筋精細化管理
- 婚外賠償協(xié)議書
- 血小板減少紫癜課件
- 安徽省江南十校2025-2026學年高一上學期12月聯考生物(含答案)
- 2025年大學公共管理(公共管理學)試題及答案
- 雨課堂學堂在線學堂云《藥物信息學(山東大學 )》單元測試考核答案
- 鋼結構波形梁護欄技術說明書
- 新能源車電池性能檢測報告范本
- 膽囊癌教學課件
評論
0/150
提交評論