![基于Spring-MVC框架的商業(yè)銀行績效考核系統(tǒng)設計與實現(xiàn)畢業(yè)論文_第1頁](http://file4.renrendoc.com/view/da9c901556ddbfd4ed61078d8bd83232/da9c901556ddbfd4ed61078d8bd832321.gif)
![基于Spring-MVC框架的商業(yè)銀行績效考核系統(tǒng)設計與實現(xiàn)畢業(yè)論文_第2頁](http://file4.renrendoc.com/view/da9c901556ddbfd4ed61078d8bd83232/da9c901556ddbfd4ed61078d8bd832322.gif)
![基于Spring-MVC框架的商業(yè)銀行績效考核系統(tǒng)設計與實現(xiàn)畢業(yè)論文_第3頁](http://file4.renrendoc.com/view/da9c901556ddbfd4ed61078d8bd83232/da9c901556ddbfd4ed61078d8bd832323.gif)
![基于Spring-MVC框架的商業(yè)銀行績效考核系統(tǒng)設計與實現(xiàn)畢業(yè)論文_第4頁](http://file4.renrendoc.com/view/da9c901556ddbfd4ed61078d8bd83232/da9c901556ddbfd4ed61078d8bd832324.gif)
![基于Spring-MVC框架的商業(yè)銀行績效考核系統(tǒng)設計與實現(xiàn)畢業(yè)論文_第5頁](http://file4.renrendoc.com/view/da9c901556ddbfd4ed61078d8bd83232/da9c901556ddbfd4ed61078d8bd832325.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于SpringMVC框架的商業(yè)銀行績效考核系統(tǒng)設計與實現(xiàn)畢業(yè)論文目錄摘要 [8]。本系統(tǒng)使用的是DB2數(shù)據(jù)庫。本系統(tǒng)使用的數(shù)據(jù)庫名為pfmdb。下面具體講解數(shù)據(jù)庫中各數(shù)據(jù)表的創(chuàng)建和邏輯結構。4.1總體表設計該系統(tǒng)中共需要創(chuàng)建28個數(shù)據(jù)表,依次是:表4.1總體表表名解釋FO_FTP_VALUE記錄FTP利率的信息FO_FTP_PRODUCT_INFO記錄FTP產品的信息FO_PFM_MANUALGRADE_FACT記錄人工評分的信息FO_PFM_GRADE_ITEM_DEF記錄人工評分項目定義FP_PFM_MGR_INDICTATOR_GRADE記錄員工指標成績FP_PFM_MGR_GRADE記錄員工績效成績FP_PFM_MGR_ORG_EXM記錄員工考核計劃FP_PFM_BASEINDX_DEF記錄基礎指標定義信息FP_PFM_BASEINDX_REF記錄基礎指標數(shù)據(jù)信息FP_PFM_MYPFM記錄我的績效匯總信息FP_PFM_GRADE_TEMPL_DEF記錄指標評價模版FP_PFM_GRADE_DEF記錄指標評價級別定義FO_PUB_ORG_INFO記錄機構信息FP_PFM_ORG_GRADE記錄機構績效成績FP_PFM_ORG_EXM記錄機構考核計劃FP_PFM_DERIVE_INDX_DEF記錄派生指標定義FP_PFM_DERIVE_INDX_REF記錄派生指標定義相關指標FO_PUB_USER_INFO記錄用戶信息FO_PUB_USER_ROLE記錄用戶角色APPEAL_RESULT記錄申訴處理結果APPEAL_INFO記錄申訴條例APPEAL_DETAIL記錄申訴申請FO_PUB_FUN_INFO記錄系統(tǒng)功能信息FP_PFM_EXM_DEF記錄考核方案定義FP_PFM_EXM_INDACTOR記錄考核方案相關指標FO_PUB_ROLE_INFO記錄角色信息FO_PUB_ROLE_FUN記錄角色功能信息表ESTIMATE記錄評價信息收集4.2數(shù)據(jù)庫表的結構表名:用戶表標識:FO_PUB_USER_INFO表4.2用戶表字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明Mgr_no上級領導否varchar50notnulluserName用戶名是varchar50notnullpwd用戶密碼否varchar50notnullORG_NO機構否varchar50Notnull表名:FTP事實表標識:FO_FTP_VALUE 表4.3FTP事實表字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明FTP_IDFTP_ID是decimal20notnull自增長Product_Id產品ID否integer10notnullFTP_VALSFTP值否decimal20notnullEFF_DT生效時間否date10notnullEND_DT失效時間否date10notnullSTATUS狀態(tài)否varchar16notnull表名:FTP產品表標識:FO_FTP_PRODUCT_INFO 字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明Product_Id產品ID是integer10Notnull自增長currency幣種否char5Notnullproduct_term產品期限否varchar32Notnullproduct_typ產品分類否varchar32Notnull表4.4FTP產品表表名:人工評分事實表標識:FO_PFM_MANUALGRADE_FACT字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明grade_item_id項目編號是char32NotnullMGR_NM部門經理否varchar50NotnullORG_NO機構否varchar50NotnullMON月份否char8NotnullGRADE分數(shù)否integer10NotnullSTATUS狀態(tài)否char5Notnull表4.5人工評分事實表表名:人工評分項目定義標識:FO_PFM_GRADE_ITEM_DEF字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明grade_iterm_id項目id是char32Notnullgrade_iterm_nm項目名稱否varchar50Notnull表4.6人工評分項目定義表名:員工指標成績表標識:FP_PFM_MGR_INDICTATOR_GRADE字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明user_no用戶號是varchar32Notnullgrade_templ_cd評價模版否varchar32Notnulldate_dt數(shù)據(jù)日期否Integer10Notnullgrade分數(shù)否varchar32Notnullgrade_cd級別定義否varchar32Notnull表4.7員工指標成績表名:員工績效成績標識:FP_PFM_MGR_GRADE字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明date_dt數(shù)據(jù)日期是Integer10Notnullmanager_no用戶號否char32Notnullgrade分數(shù)否char32Notnullgrade_cd級別定義否char32Notnull表4.8員工績效成績表名:員工考核計劃標識:FP_PFM_MGR_ORG_EXM字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明id標識是decimal6Notnull自增長user用戶否char32Notnulldate_dt數(shù)據(jù)日期否integer10Notnullmanager_no上級領導否char32Notnulleff_dt生效日期否date10表4.9員工考核計劃表名:基礎指標定義標識:FP_PFM_BASEINDX_DEF 字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明indicator_cd指標代碼是char32Notnullindicator_nm指標名稱否varchar80Notnullindicator_class指標類別否char32Notnullindicator_typ指標類型否char32Notnullindicator_desc指標描述否varchar200NotnullData_cd數(shù)據(jù)日期否char32Notnullgrade_templ_cd指標名稱否char32Notnullstatus狀態(tài)否varchar16Notnull表4.10基礎指標定義表名:基礎指標數(shù)據(jù)標識:FP_PFM_BASEINDX_REF字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明Data_cd數(shù)值代碼是char32Notnullbrief_name數(shù)值簡稱否varchar50Notnulldata_desc數(shù)值描述否varchar100NotnullData_nm數(shù)值名稱否varchar100NotnullData_typ數(shù)值類型否char32NotnullData_tab數(shù)值目標表否varchar80NotnullData_col數(shù)值目標列否varchar80Notnull表4.11基礎指標數(shù)據(jù)表名:我的績效匯總表標識:FP_PFM_MYPFM字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明Data_dt評價模版CD是integer10NotnullManager_no上級領導是char32Notnullindicator1績效指標一否varchar80NotnullOrg_no機構是char32NotnullPfm_grade績效成績否char32nullindicator5_desc指標五說明否varchar150Notnullindicator2績效指標二否varchar80Notnullindicator3績效指標三否varchar80Notnullindicator4績效指標四否varchar80Notnullindicator5績效指標五否varchar80nullExam_desc方案說明否varchar80Notnullorg_flg機構標志否char32NotnullPfm_grade_desc績效描述否varchar80Notnullindicator1_desc指標一說明否varchar150Notnullindicator2_desc指標二說明否varchar150nullindicator3_desc指標三說明否varchar150Notnullindicator4_desc指標四說明否varchar150Notnullindicator6_desc指標六說明否varchar150Notnullindicator7_desc指標七說明否varchar150Notnullindicator8_desc指標八說明否varchar150nullindicator9_desc指標九說明否varchar150Notnullindicator10_desc指標十說明否varchar150null表4.12我的績效匯總表名:指標評價模版表標識:FP_PFM_GRADE_TEMPL_DEF字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明Grade_templ_cd評價模版是char32NotnullGrade_templ_nm模版名稱否varchar32NotnullGrade_templ_typ模版類型否char32NotnullGrade_mothed評級方法否char32Notnullstatus狀態(tài)否char5null表4.13指標評價模版表名:指標評價級別定義表標識:FP_PFM_GRADE_DEF字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明grade_templ_cd評價模版是char32NotnullGrade_cd級別定義否char32NotnullGrade_name級別名稱否Varchar60NotnullGrade_no級別序號否Integer10NotnullGrade_low級別下線值否Decimal5nullGrade_top級別上線值否Decimal5null表4.14指標評價級別定義表名:機構信息表標識:FO_PUB_ORG_INFO字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明Org_no機構是char32NotnullOrg_name機構名稱否varchar50NotnullBrief_name機構簡稱否varchar50NotnullPar_org上級機構否char32NotnullOrg_level機構層級否char32null表4.15機構信息表名:機構績效成績表標識:FP_PFM_ORG_GRADE字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明DATA_DT數(shù)據(jù)日期是char32NotnullORG_NO機構否char32NotnullGRADE分數(shù)否integer10NotnullGRADE_CD級別定義CD否char32Notnull表4.16機構績效成績表名:機構考核計劃表標識:FP_PFM_ORG_EXM字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明ID計劃ID是CHAR32NotnullDATA_CD方案代碼否CHAR32NotnullDATA_DT數(shù)據(jù)日期否INTEGER10NotnullORG_NO機構否CHAR32NotnullEFF_DT生效日期否DATE10null表4.17機構考核計劃表名:派生指標定義表標識:FP_PFM_DERIVE_INDX_DEF字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明INDX_CD指標代碼是char32NotnullINDX_NM指標名稱否varchar80NotnullINDX_TYP指標類型否char32NotnullFORMULA公式否varchar100NotnullSTATUS狀態(tài)否varchar16Notnull表4.18派生指標定義表名:派生指標定義相關指標表標識:FP_PFM_DERIVE_INDX_REF字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明Indx_cd指標代碼是char32NotnullRef_indx_cd指標名稱否char80Notnullref_seq指標類型否varchar32Notnull表4.19派生指標定義相關指標表名:用戶角色表標識:FO_PUB_USER_ROLE字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明User_role_id用戶角色號是decimal4Notnull自增長USER_NO用戶號否varchar50NotnullROLE_NO角色號否varchar50NotnullCreate_name創(chuàng)建人否varchar50NotnullFLAG啟用標識否varchar2NotnullREMARK備注否varchar200Notnull表4.20用戶角色表名:申訴處理結果表標識:APPEAL_RESULT字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明App_resu_no結果編號是decimal6Notnull自增長Appeal_comm功能號否varchar2000NotnullResult_flag角色號否char2NotnullApp_user創(chuàng)建人否varchar50NotnullManager_user啟用標識否varchar50NotnullAPP_NO備注否decimal6NotnullFLAG標志否varchar2Notnull表4.21申訴處理結果表名:申訴條例表標識:APPEAL_INFO字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明Date_curr生效時間是decimal6Notnull自增長APP_INFO條例否varchar2000NotnullFLAG有效標志否varchar2Notnull表4.22申訴條例表名:系統(tǒng)功能信息表標識:FO_PUB_FUN_INFO字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明FUN_ID角色編號是varchar50NotnullFun_name角色名稱否varchar200Notnull表4.23系統(tǒng)功能信息表名:考核方案定義表標識:FP_PFM_EXM_DEF字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明Exam_cd方案代碼是char32NotnullExam_desc方案內容否varchar100NotnullExam_nm方案名稱否varchar50NotnullExam_express表達公式否varchar100Notnull表4.24考核方案定義表名:考核方案相關指標表標識:FP_PFM_EXM_INDACTOR字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明EXAM_CD方案代碼是char32Notnullindicator_cd指標代碼是char32Notnullindicator_seq指標序號否char32Notnullpercent指標占比否integer10Notnull表4.25考核方案相關指標表名:角色信息表標識:FO_PUB_ROLE_INFO字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明role_id角色編號是varchar50Notnullrole_name角色名稱否varchar50Notnull表4.26角色信息表名:角色功能信息表標識:FO_PUB_ROLE_FUN字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明role_fun_id功能編號是decimal4Notnullfun_name功能號否varchar50Notnullrole_name角色號否varchar50Notnullcreate_name創(chuàng)建人否varchar50Notnullflag啟用標識否varchar2Notnullremark備注否varchar200null表4.27角色功能信息表名:評價信息收集表標識:ESTIMATE 字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束說明esti_no評價編號是decimal6Notnullesti_score評價得分否decimal4Notnullesti_comment評價內容否varchar400Notnullposter評價人否varchar50Notnullreposter被評價人否varchar50Notnullestimate_date評價日期否date10null表4.28評價信息收集表名:申訴申請表標識:APPEAL_DETAIL字段名字段描述是否為主鍵數(shù)據(jù)類型長度約束 說明App_no申訴編號是decimal6Notnull自增長App_time申訴時間否integer10NotnullManager_no評價內容否varchar50Notnullorg_no評價人否varchar50NotnullRecontent被評價人否varchar50NotnullApp_user申訴人否varchar50NotnullApp_reson申訴事由否varchar2000NotnullResult_flag是否審批否varchar2nullflag申訴有效否varchar2null表4.29申訴申請4.3數(shù)據(jù)庫表的關系圖在零售管理系統(tǒng)中,涉及到14個數(shù)據(jù)表的操作,其中有些表會與多個表有關聯(lián),但結構比較明晰,各表的關系如圖4.1所示:圖4.1數(shù)據(jù)庫關系圖系統(tǒng)詳細設計事務處理和文件配置5.1.1事務處理事務是構成單一邏輯工作單元的操作集合。不論發(fā)生何種情況,DBS必須保證事務能正確、完整的執(zhí)行。為了保證數(shù)據(jù)庫中數(shù)據(jù)總是正確的,我們要求事務具有原子性、一致性、隔離性和持久性等特點。本系統(tǒng)的具體引入方法如下:1)在ApplicationContext.xml文件中配置,具體實現(xiàn)代碼如下:<tx:annotation-driventransaction-manager="transactionManager"/><tx:annotation-drivenmode="aspectj"/>2)在業(yè)務邏輯類的方法體上注明,具體實現(xiàn)代碼如下:@Transactionalpublicvoidsave(AppealDetailEntityappealDetailEntity){ entityDao.save(appealDetailEntity);}完成以上步驟,就可以實現(xiàn)事務了。5.1.2日志文件程序開發(fā)環(huán)境中的日志記錄是由嵌入在程序中以輸出一些對開發(fā)人員有用信息的語句所組成。例如,跟蹤語句(trace),結構轉儲和常見的System.out.println或printf調試語句。log4j提供分級方法在程序中嵌入日志記錄語句。日志信息具有多種輸出格式和多個輸出級別。使用一個專門的日志記錄包,可以減輕對成千上萬的System.out.println語句的維護成本,因為日志記錄可以通過配置腳本在運行時得以控制。log4j維護嵌入在程序代碼中的日志記錄語句。通過規(guī)范日志記錄的處理過程,一些人認為應該鼓勵更多的使用日志記錄并且獲得更高程度的效率。1)導入日志相關包類:配置perties文件,具體實現(xiàn)代碼如下:log4j.rootLogger=DEBUG,A1log4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=>>>%d%5p[%t](%F:%L)-%m%nlog4j.appender.A1.DatePattern='.'yyyy-MM-ddlog4j.appender.A1=org.apache.log4j.ConsoleAppender5.1.3設計模式——工廠模式工廠方法模式的意義是定義一個創(chuàng)建產品對象的工廠接口,將實際創(chuàng)建工作推遲到子類當中。核心工廠類不再負責產品的創(chuàng)建,這樣核心類成為一個抽象工廠角色,僅負責具體工廠子類必須實現(xiàn)的接口,這樣進一步抽象化的好處是使得工廠方法模式可以使系統(tǒng)在不修改具體工廠角色的情況下引進新的產品。可以使代碼結構清晰,有效地封裝變化。在編程中,產品類的實例化有時候是比較復雜和多變的,通過工廠模式,將產品的實例化封裝起來,使得調用者根本無需關心產品的實例化過程,只需依賴工廠即可得到自己想要的產品。對調用者屏蔽具體的產品類。如果使用工廠模式,調用者只關心產品的接口就可以了,至于具體的實現(xiàn),調用者根本無需關心。即使變更了具體的實現(xiàn),對調用者來說沒有任何影響。降低耦合度。產品類的實例化通常來說是很復雜的,它需要依賴很多的類,而這些類對于調用者來說根本無需知道,如果使用了工廠方法,我們需要做的僅僅是實例化好產品類,然后交給調用者使用。對調用者來說,產品所依賴的類都是透明的本系統(tǒng)的具體實現(xiàn)方法如下:接口類:importjava.util.List;publicinterfaceIEntityDao{ publicList<Object>createQuery(finalStringqueryString); publicObjectsave(finalObjectmodel); publicvoidupdate(finalObjectmodel); publicvoiddelete(finalObjectmodel);}<?xmlversion="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance" xmlns:p="/schema/p" xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd"> <!--Dao配置--> <beanid="OrdersDAO"class="com.dao.OrdersDAO"> <propertyname="sessionFactory"> <refbean="sessionFactory"/> </property> </bean> <beanid="ProductDAO"class="com.dao.ProductDAO"> <propertyname="sessionFactory"> <refbean="sessionFactory"/> </property> </bean> <beanid="UserInfoDAO"class="com.dao.UserInfoDAO"> <propertyname="sessionFactory"> <refbean="sessionFactory"/> </property> </bean> <!--service配置--> <beanid="OrdersService"class=".OrderService"> <propertyname="ordersDao"> <refbean="OrdersDAO"/> </property> </bean> <beanid="UserInfoService"class=".UserInfoService"> <propertyname="uid"> <refbean="UserInfoDAO"/> </property> </bean> <beanid="ProductService"class=".ProductService"> <propertyname="pd"> <refbean="ProductDAO"/> </property> </bean> <!--Action配置--> <beanid="checkAction"class="com.struts.action.CheckAction"> <propertyname="userinfoService"> <refbean="UserInfoService"/> </property> </bean> <beanid="checkCodeAction"class="com.struts.action.CheckCodeAction"> </bean> <beanid="exitAction"class="com.struts.action.ExitAction"> </bean> <beanid="loginAction"class="com.struts.action.LoginAction"> <propertyname="userinfoService"> <refbean="UserInfoService"/> </property> </bean> <beanid="ordersAction"class="com.struts.action.OrdersAction"> <propertyname="orderService"> <refbean="OrdersService"/> </property> </bean> <beanid="productAction"class="com.struts.action.ProductAction"> </bean> <beanid="productAllAction"class="com.struts.action.ProductAllAction"> <propertyname="productService"> <refbean="ProductService"/> </property> </bean> <beanid="registerAction"class="com.struts.action.RegisterAction"> </bean> <beanid="searchAction"class="com.struts.action.SearchAction"> <propertyname="productService"> <refbean="ProductService"/> </property> </bean> <beanid="shopCartAction"class="com.struts.action.ShopCartAction"> <propertyname="productService"> <refbean="ProductService"/> </property> </bean> <beanid="typeAction"class="com.struts.action.TypeAction"> <propertyname="productService"> <refbean="ProductService"/> </property> </bean> <beanid="updateAction"class="com.struts.action.UpdateAction"> <propertyname="userinfoService"> <refbean="UserInfoService"/> </property> </bean> <beanid="userAction"class="com.struts.action.UserAction"> <propertyname="userinfoService"> <refbean="UserInfoService"/> </property> </bean> <beanid="userInfoAction"class="com.struts.action.UserInfoAction"> <propertyname="userinfoService"> <refbean="UserInfoService"/> </property> </bean> <!--sessionFactory配置--> <beanid="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <propertyname="configLocation" value="classpath:hibernate.cfg.xml"> </property> <propertyname="hibernateProperties"> <props> <propkey="hibernate.cglib.use_reflection_optimizer"> true </prop> <propkey="hibernate.show_sql">true</prop> <propkey="hibernate.format_sql">true</prop> <propkey="hibernate.connection.release_mode">auto</prop> </props> </property> <propertyname="dataSource"> <refbean="dataSource"/> </property> </bean> <beanid="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><propertyname="location"value="/WEB-INF/perties"/> </bean> <beanid="dataSource" class="mons.dbcp.BasicDataSource"> <propertyname="driverClassName" value="${jdbc.driverClassName}"> </property> <propertyname="url" value="${jdbc.url}"> </property> <propertyname="username"value="${jdbc.username}"></property> <propertyname="password"value="${jdbc.password}"></property> </bean> </beans>實現(xiàn)類importjava.util.List;importorg.hibernate.Query;importorg.springframework.orm.hibernate3.HibernateCallback;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;importcom.uisftech.BankPerformance.dao.IEntityDao;publicclassEntityDaoextendsHibernateDaoSupportimplementsIEntityDao{ publicList<Object>createQuery(finalStringqueryString){ return(List<Object>)getHibernateTemplate().execute( newHibernateCallback<Object>(){ publicObjectdoInHibernate(org.hibernate.Sessionsession) throwsorg.hibernate.HibernateException{ Queryquery=session.createQuery(queryString); List<Object>rows=query.list(); returnrows; } }); } publicObjectfindEntity(finalObjectobject,finalStringid){ return(Object)getHibernateTemplate().get(object.getClass(),id); } publicObjectsave(finalObjectmodel){ returngetHibernateTemplate().execute( newHibernateCallback<Object>(){ publicObjectdoInHibernate(org.hibernate.Sessionsession) throwsorg.hibernate.HibernateException{ session.save(model); returnnull; } }); } publicvoidupdate(finalObjectmodel){ getHibernateTemplate().execute(newHibernateCallback<Object>(){ publicObjectdoInHibernate(org.hibernate.Sessionsession) throwsorg.hibernate.HibernateException{ session.update(model); returnnull; } }); } publicvoiddelete(finalObjectmodel){ getHibernateTemplate().execute(newHibernateCallback<Object>(){ publicObjectdoInHibernate(org.hibernate.Sessionsession) throwsorg.hibernate.HibernateException{ session.delete(model); returnnull; } }); } }5.2數(shù)據(jù)庫連接ApplicationContext.xml配置:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="/schema/beans" xmlns:aop="/schema/aop"xmlns:context="/schema/context" xmlns:p="/schema/p"xmlns:tx="/schema/tx" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd /schema/context/schema/context/spring-context-3.0.xsd /schema/aop/schema/aop/spring-aop-3.0.xsd /schema/tx/schema/tx/spring-tx-3.0.xsd"> <context:annotation-config/> <context:component-scanbase-package="com.uisftech.BankPerformance"/><!--自動掃描所有注解該路徑--> <context:property-placeholderlocation="classpath:/perties"/> <beanid="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <propertyname="dataSource"ref="dataSource"/> <propertyname="hibernateProperties"> <props> <propkey="hibernate.dialect">${dataSource.dialect}</prop> <propkey="hibernate.default_schema">${dataSource.default_schema}</prop> <propkey="hibernate.hbm2ddl.auto">${dataSource.hbm2ddl.auto}</prop> <propkey="hibernate.hbm2ddl.auto">update</prop> </props> </property> <propertyname="packagesToScan"> <list> <value>com.uisftech.BankPerformance.model</value><!--掃描實體類,也就是平時所說的model--> </list> </property> </bean> <beanid="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <propertyname="sessionFactory"ref="sessionFactory"/> <propertyname="dataSource"ref="dataSource"/> </bean> <beanid="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <propertyname="driverClassName"value="${dataSource.driverClassName}"/> <propertyname="url"value="${dataSource.url}"/> <propertyname="username"value="${dataSource.username}"/> <propertyname="password"value="${dataSource.password}"/> </bean> <!--Dao的實現(xiàn)--> <beanid="entityDao"class="com.uisftech.BankPerformance.dao.impl.EntityDao"> <propertyname="sessionFactory"ref="sessionFactory"/> </bean> <tx:annotation-driventransaction-manager="transactionManager"/> <tx:annotation-drivenmode="aspectj"/> <aop:aspectj-autoproxy/></beans>Hperties配置:dataSource.password=admindataSource.username=db2admindataSource.databaseName=pfmdbdataSource.default_schema=bankdataSource.driverClassName=com.ibm.db2.jcc.DB2DriverdataSource.dialect=org.hibernate.dialect.DB2DialectdataSource.serverName=:50000dataSource.url=jdbc:db2://:50000/pfmdbdataSperties=user=${dataSource.username};databaseName=${dataSource.databaseName};serverName=${dataSource.serverName};password=${dataSource.password}dataSource.hbm2ddl.auto=update5.3系統(tǒng)登錄界面1、網頁界面設計效果如圖5.1所示圖5.1系統(tǒng)登錄2、系統(tǒng)登錄界面的IPO(Input,processandoutput下同)過程輸入:用戶名和密碼處理:點擊登錄按鈕,用戶名和密碼的長度不能超過20。輸出:進入系統(tǒng)主頁面5.4我的績效模塊5.4.1我的績效模塊1、網頁界面設計效果如圖5.2所示圖5.2我的績效模塊2、系統(tǒng)主頁面模塊的IPO過程輸入:直接點擊頁面左邊的“我的績效”下面“我的績效”處理:打開系統(tǒng)主頁面。輸入月份(年份加月份的6位數(shù)字)。查看當月的績效。點擊詳細。查看績效明細。輸出:無3、使用的數(shù)據(jù)庫:FP_PFM_MYPFM、FP_RPT_PFM_COLLECT4、實現(xiàn)代碼:Contoller包: 類FpPfmMyPFMEntityController:@RequestMapping(params="method=view") publicStringview(HttpServletRequestrequest,HttpSessionsession,ModelMapmodelMap)throwsException{ FoPubUserInfoEntityfpuie=(FoPubUserInfoEntity)session.getAttribute("fpuie"); StringmgrNo=fpuie.getMgrNo(); StringorgNo=fpuie.getOrgNo(); List<Object>list=fpPfmMyPFMEntityService.getExamineProjectList(mgrNo,orgNo); FpPfmMyPFMEntityfpm=(FpPfmMyPFMEntity)list.get(0); modelMap.put("fpm",fpm); return"sys/MyPFM_view"; }@RequestMapping(params="method=load") publicStringload(HttpServletRequestrequest,HttpSessionsession,ModelMapmodelMap)throwsException{ FoPubUserInfoEntityfpuie=(FoPubUserInfoEntity)session.getAttribute("fpuie"); StringmgrNo=fpuie.getMgrNo(); StringorgNo=fpuie.getOrgNo(); StringdataDate=request.getParameter("dataDate"); intdataDt=Integer.parseInt(dataDate); List<Object>list=null; list=fpPfmMyPFMEntityService.load(dataDt,mgrNo,orgNo); if(list.size()==0){ list=fpPfmMyPFMEntityService.getExamineProjectList(mgrNo,orgNo); } FpPfmMyPFMEntityfpm=(FpPfmMyPFMEntity)list.get(0); modelMap.put("fpm",fpm); return"sys/MyPFM_view";}/* *查詢月份業(yè)績明細 *@paramrequest *@parammodelMap *@return *@throwsException */ @RequestMapping(params="method=performMonth") publicStringperformMonth(HttpServletRequestrequest,ModelMapmodelMap)throwsException{ FoPubUserInfoEntityfpuie=(FoPubUserInfoEntity)request.getSession().getAttribute("fpuie"); StringmgrNo=fpuie.getMgrNo(); StringorgNo=fpuie.getOrgNo(); StringdataDate=request.getParameter("dataDate"); List<Object>list=fpRptPfmCollectService.getFpRptPfmCollect(newInteger(dataDate),orgNo,mgrNo); FpRptPfmCollectEntityfpRptPfmCollectEntity=(FpRptPfmCollectEntity)list.get(0); modelMap.put("fpRptPfmCollectEntity",fpRptPfmCollectEntity); return"sys/performDetail_View"; } Service包:類FpRptPfmCollectService:@Transactional publicList<Object>getFpRptPfmCollect(intdate,StringorgNO,StringmanagerNO){ StringBuffersff=newStringBuffer(); sff.append("selectafrom").append(FpRptPfmCollectEntity.class.getSimpleName()) .append("asawherea.dataDate="+date+"andNO='"+orgNO+"'anda.managerNO='"+managerNO+"'"); List<Object>list=entityDao.createQuery(sff.toString()); returnlist; }類FpPfmMyPFMEntityService:/* *根據(jù)日期、客戶經理、機構來查詢個人績效信息 *@paramdataDate *@parammanagerNO *@paramorgNO *@returnlist */ publicList<Object>getExamineProjectList( StringmanagerNo,StringorgNo){ StringBuffersff=newStringBuffer(); sff.append("selectafrom").append(FpPfmMyPFMEntity.class.getSimpleName()).append("asa") .append("wherea.managerNO='").append(managerNo).append("'") .append("andorgNO='").append(orgNo).append("'orderbya.dataDatedesc"); List<Object>list=entityDao.createQuery(sff.toString()); returnlist; } publicList<Object>load(intdataDt, StringmanagerNo,StringorgNo){ StringBuffersff=newStringBuffer(); sff.append("selectafrom").append(FpPfmMyPFMEntity.class.getSimpleName()).append("asa") .append("wherea.dataDate='").append(dataDt).append("'") .append("anda.managerNO='").append(managerNo).append("'") .append("andorgNO='").append(orgNo).append("'"); List<Object>list=entityDao.createQuery(sff.toString()); returnlist; }5.4.2業(yè)績明細模塊1、網頁界面設計效果如圖5.3所示圖5.3業(yè)績明細2、業(yè)績明細模塊的IPO過程輸入:輸入“月份”后點擊查詢處理:顯示當月的業(yè)績。輸出:無5.5績效信息管理模塊5.5.1FTP基本信息模塊1、網頁界面設計效果如圖5.4所示圖5.4FTP利率管理2、FTP利率管理模塊的IPO過程輸入:直接點擊頁面左邊的“績效管理”下面“FTP管理”處理:1)進入FTP利率信息主頁。2)輸入產品名稱。3)查看相關產品的FTP利率信息。4)點擊刪除,查看有效產品的FTP利率信息。3、使用的數(shù)據(jù)庫:FO_FTP_VALUE、FO_FTP_PRODUCT_INFO4、實現(xiàn)代碼:Contoller包: 類FTPProductEntityController:@RequestMapping(params="method=load") publicStringload(HttpServletRequestrequest,ModelMapmodelMap){ List<Object>ftpValueEntityLists=null; FtpProductEntityftpProductEntity=null;//放FTP產品記錄 //兩張表的連接后的記錄列表 List<FTPEntity>ftpEntityLists=newArrayList<FTPEntity>(); if(modelMap.get("view")!=null){ ftpValueEntityLists=(List<Object>)modelMap.get("view"); }else{ ftpValueEntityLists=ftpValueEntityService .getAllFtpValueEntityList();//存放FTP事實 } /* *通過迭代FTP事實表記錄得到產品編號查找出FTP產品 */ for(ObjectftpValueEntity:ftpValueEntityLists){ //單條表連接記錄 FTPEntityftpEntity=newFTPEntity(); //根據(jù)產品編號查找對應的FTP產品 ftpProductEntity=(FtpProductEntity)ftpProductEntityService .getFtpProductEntityListById( ((FtpValueEntity)ftpValueEntity).getProductId()) .get(0); ftpEntity.setFtpProductEntity(ftpProductEntity); ftpEntity.setFtpValueEntity((FtpValueEntity)ftpValueEntity); //在列表中添加記錄 ftpEntityLists.add(ftpEntity); } //將表連接后的記錄放入map中在頁面顯示 modelMap.put("ftpEntityLists",ftpEntityLists); modelMap.put("itemCount",ftpEntityLists.size()); return"sys/FTP_View"; } /* *修改FTP利率值 */ publicStringupdate(HttpServletRequestrequest,ModelMapmodelMap){ try{ StringftpValue=request.getParameter("ftpValue");//FTP利率值 Stringdate=request.getParameter("date");//生效日期 StringproductId=request.getParameter("productId");//產品Id StringftpId=request.getParameter("ftpId");//主鍵 FtpValueEntityftpValueEntity=newFtpValueEntity();//將要添加的FTP利率實體 //初始化要修改的FTP利率實體 ftpValueEntity.setFtpId(newBigDecimal(ftpId)); ftpValueEntity.setProductId(newInteger(productId)); ftpValueEntity.setEffectDate(Date.valueOf(date)); ftpValueEntity.setFtpValue(newBigDecimal(ftpValue)); ftpValueEntity.setStatus("生效"); ftpValueEntityService.update(ftpValueEntity); modelMap.put("state","修改成功"); }catch(Exceptione){ modelMap.put("state","修改失敗"); log.error(e.getMessage()); e.printStackTrace(); return"sys/error"; } returnload(request,modelMap); } @RequestMapping(params="method=view") publicStringview(HttpServletRequestrequest,ModelMapmodelMap) throwsException{ StringproductType=request.getParameter("productType"); if(productType==null){ productType=""; } //FTP利率記錄 List<FtpValueEntity>ftpValueEntityLists=newArrayList<FtpValueEntity>(); //根據(jù)產品類別查詢出所以該類別下的產品 List<Object>ftpProductEntityLists=ftpProductEntityService .getFtpProductEntityListByType(productType); if(ftpProductEntityLists.size()<0){ modelMap.put("viewState","沒有這種產品類型的產品"); return"sys/error"; } for(Objectobject:ftpProductEntityLists){ List<Object>ftpValueLists=ftpValueEntityService .getFtpValueEntityList(((FtpProductEntity)object) .getProductId()); //判斷是否存在這種產品類型的FTP利率 if(ftpValueLists.size()>0){ FtpValueEntityftpValueEntity=(FtpValueEntity)ftpValueLists .get(0); ftpValueEntityLists.add(ftpValueEntity); } } modelMap.put("view",ftpValueEntityLists); //加載數(shù)據(jù) returnload(request,modelMap); } @RequestMapping(params="method=save") publicStringsave(HttpServletRequestrequest,ModelMapmodelMap){ StringproductId=request.getParameter("productId"); //跳轉到修改的方法上 if(!productId.equals("")){ returnupdate(request,modelMap); } Stringproduct=request.getParameter("product");//產品分類 Stringstage=request.getParameter("stage");//期限 StringcurrentyUomId=request.getParameter("currentyUomId");//幣種 StringftpValue=request.getParameter("ftpValue");//FTP利率值 Stringdate=request.getParameter("date");//生效日期 List<Object>ftpProductEntityLists=null;//根據(jù)產品分類、期限、幣種獲取對應的FTP事實產品 FtpValueEntityftpValueEntity=newFtpValueEntity();//將要添加的FTP利率實體 FtpProductEntityftpProductEntity=newFtpProductEntity();//構造FTP產品實體查找對應的產品編號 ftpProductEntity.setCurrency(currentyUomId); ftpProductEntity.setProductTerm(stage); ftpProductEntity.setProductType(product); ftpProductEntityLists=ftpProductEntityService .getFtpProductEntityList(ftpProductEntity);//得到產品分類、期限、幣種獲取對應的FTP事實產品 intproId=((FtpProductEntity)ftpProductEntityLists.get(0)) .getProductId(); //初始化要添加的FTP利率實體 ftpValueEntity.setProductId(proId); ftpValueEntity.setEffectDate(Date.valueOf(date)); ftpValueEntity.setFtpValue(newBigDecimal(ftpValue)); ftpValueEntity.setStatus("生效"); try{ ftpValueEntityService.save(ftpValueEntity); modelMap.put("state","添加成功"); }catch(Exceptione){ modelMap.put("state","添加失敗"); log.error(e.getMessage()); e.printStackTrace(); return"sys/error"; } returnload(request,modelMap); } @RequestMapping(params="method=del") publicStringdel(HttpServletRequestrequest,ModelMapmodelMap){ //獲取頁面?zhèn)鱽淼睦手? StringproductId=request.getParameter("productId"); FtpValueEntityftpValueEntity=(FtpValueEntity)ftpValueEntityService .getFtpValueEntityList(newInteger(productId)).get(0); ftpValueEntity.setStatus("失效"); try{ ftpValueEntityService.update(ftpValueEntity); modelMap.put("delstate","刪除成功"); }catch(Exceptione){ modelMap.put("state","刪除失敗"); log.error(e.getMessage()); e.printStackTrace(); return"sys/error"; } returnload(request,modelMap); } @RequestMapping(params="method=reAdd") publicStringreAdd(HttpServletRequestrequest,ModelMapmodelMap)throwsUnsupportedEncodingException{ //獲取頁面?zhèn)鱽淼睦手? modelMap.put("method","2"); modelMap.put("productType",newString(request.getParameter("productType").getBytes("ISO-8859-1"),"UTF-8")); modelMap.put("stage",newString(request.getParameter("stage").getBytes("ISO-8859-1"),"UTF-8"));
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級數(shù)學上冊教學詳案-第3單元1捐書活動(北師大版)
- 2025年金屬門窗及類似制品合作協(xié)議書
- 2025年產品采購合同經典版(三篇)
- 2025年個人獨資企業(yè)解散協(xié)議(三篇)
- 2025年個人機械加工合同模板(2篇)
- 2025年個人設備維修合同模板(三篇)
- 2025年個人裝修承包合同常用版(2篇)
- 2025年企業(yè)臨時用工聘合同(4篇)
- 2025年個人租賃房屋協(xié)議(2篇)
- 沿江服裝運輸合同
- 小學六年級數(shù)學上冊《簡便計算》練習題(310題-附答案)
- 2024年中國養(yǎng)老產業(yè)商學研究報告-銀發(fā)經濟專題
- 高教版2023年中職教科書《語文》(基礎模塊)下冊教案全冊
- 人教版英語七年級上冊閱讀理解專項訓練16篇(含答案)
- 護理教學查房評分標準
- GB/T 23505-2017石油天然氣工業(yè)鉆機和修井機
- 《清廉文化進校園》廉潔文化教育主題班會課件
- 人工智能發(fā)展史課件
- 古樹名木保護建設項目可行性研究報告
- 幼小銜接學拼音
- 運動技能學習與控制課件第九章運動技能學習概述
評論
0/150
提交評論