版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
令第一天國(guó)際物流杰信商貿(mào)+搭建環(huán)境
1.項(xiàng)目背景
杰信商貿(mào)是國(guó)際物流行業(yè)一家專門從事進(jìn)出口玻璃器皿貿(mào)易公司。公司總部位于十一種朝代
帝王之都西安,業(yè)務(wù)遍及歐美。隨著公司不斷發(fā)展壯大,舊信息系統(tǒng)已無法滿足公司迅速發(fā)
展需求,妨礙公司成長(zhǎng),在此背景下,公司領(lǐng)導(dǎo)決定研發(fā)《杰信商貿(mào)綜合管理平臺(tái)》。
《杰信商貿(mào)綜合管理平臺(tái)》分三期完畢。一期完畢倉(cāng)儲(chǔ)管理(涉及:采購(gòu)單、倉(cāng)庫(kù)、貨品、
條形碼、入庫(kù)、出庫(kù)、退貨、盤點(diǎn)、庫(kù)存、庫(kù)存上限報(bào)警、記錄查詢)和展會(huì)管理(涉及:展
會(huì)管理、出單管理),形成貨品統(tǒng)一數(shù)字化管理。二期完畢貨運(yùn)全流程管理,涉及購(gòu)銷合同、
出貨表記錄、出口報(bào)運(yùn)單、HOME裝箱單、裝箱單、委托書、發(fā)票、財(cái)務(wù)記錄等。三期完畢
決策分析(涉及:成本分析圖、銷售狀況記錄、重點(diǎn)客戶、經(jīng)營(yíng)狀況同期比對(duì)記錄、工作績(jī)
效),為公司經(jīng)營(yíng)決策提供數(shù)據(jù)支持。
a)用例圖
2.理解系統(tǒng)是所有功能模塊
運(yùn)用visio畫系統(tǒng)功能構(gòu)造圖,目讓開發(fā)人員理解均有哪些業(yè)務(wù)模塊,以便分工合伙,依照每
個(gè)頁(yè)面模塊難度,復(fù)雜,投入人力狀況來衡最每個(gè)模塊多少錢。驗(yàn)收原則。
3.數(shù)據(jù)庫(kù)建模,業(yè)界都使用PowerDesinger建模
4.系統(tǒng)架構(gòu)
項(xiàng)目框里:SpringMVC?Spring3.2.6?Mybatis322?Maven?//SpringJDBC
PowerDesigner
政據(jù)莊
執(zhí)行SQLa表
a)業(yè)務(wù):生產(chǎn)廠家
b)功能
在貨品模塊和附近模塊,它們均有個(gè)生產(chǎn)廠家,講生產(chǎn)廠家信息提出,成為一種單獨(dú)表,
c)需求調(diào)研《需求闡明書》
生產(chǎn)廠家表FACTORY_C(_C業(yè)務(wù)后綴)
序號(hào)名稱代碼與否類型(長(zhǎng)度)闡明
主鍵
1.編號(hào)FACTORY_ID是VARCHAR2(40)UUID
2.全稱FULL_NAME否VARCHAR2(200)相應(yīng)客戶比較模
糊,翻番2到4
倍
3.簡(jiǎn)稱FACTORY_NAME否VARCHAR2(50)
4.聯(lián)系人CONTACTS否VARCHAR2(30)人名20/30
5.電話PHONE否VARCHAR2(20)
6.手機(jī)MOBILE否VARCHAR2(20)
加“啟用”“停用”功能,修改狀態(tài)。
a)貨運(yùn)管理核心流程:購(gòu)銷合同
b)需求調(diào)研過程
軟件公司就會(huì)到杰信去需求調(diào)研,
項(xiàng)目經(jīng)理,她面對(duì)客戶高層中層領(lǐng)導(dǎo),目跟客戶安排好調(diào)研口程。
c)設(shè)計(jì)人員,帶領(lǐng)初級(jí)程序員到詳細(xì)業(yè)務(wù)部門調(diào)研。聊天,
環(huán)繞項(xiàng)目目的,設(shè)計(jì)人員會(huì)自己記錄談話內(nèi)容,(主
干),初級(jí)程序員(所有內(nèi)容)?;貋碚D筆記,整頓
《需求調(diào)研報(bào)告》
d)報(bào)告中怎么體現(xiàn)紙質(zhì)報(bào)表?初級(jí)程序員將紙質(zhì)報(bào)表
轉(zhuǎn)化成電子。
e)購(gòu)銷合同業(yè)務(wù)分析
2.需求過程
杰信和生產(chǎn)廠家簽到合同,稱為購(gòu)銷合同。一種購(gòu)銷合同中包括各種貨品信息,一種貨品信
息涉及各種附件信息。
報(bào)表打印時(shí),同一種生產(chǎn)廠家貨品信息才干放在同一種頁(yè)上,不同生產(chǎn)廠家貨品信息不能放
在同一種頁(yè)上。
分析階段,摳每個(gè)字段
3.出貨表
設(shè)計(jì)方案一(老式設(shè)計(jì))
合同表,貨品表,附件表多次左連接,SQL極其復(fù)雜,由于附件值特殊,SQL不能直接完畢,還
需要代碼去實(shí)現(xiàn)。
設(shè)計(jì)方案二(冗余設(shè)計(jì))
通過冗余,都在貨品表中,只需要合同表和貨品表左連接即可。
4.分析過程
將顧客需求(大白話)轉(zhuǎn)化為開發(fā)人員看得懂?dāng)?shù)據(jù)庫(kù)表,表之間關(guān)系,業(yè)務(wù)邏輯。給咱們開
發(fā)人員看,開發(fā)人員根據(jù)設(shè)計(jì)來寫代碼。復(fù)雜,大型項(xiàng)目畫類圖,序列圖輔助開發(fā)人員開發(fā)。
購(gòu)銷合同
CJNTRACTIDVARCHAR2(40)<pk>
收購(gòu)方VARCJL\R2(200)
合同號(hào)VARQIAR2(50)
簽單日期TIMESTAMP
制單人VAKCHAR2(30)
審單人VARCHAR2(30)
驗(yàn)貨員VARCIIAR2(3O)
總金額NUMBER(10,2)
重要程度INT
要求VARQIAR2C2000)
客戶名稱VARCHAR2(200)
交貨期限TIMESTAMP
射期TIMESTAMP
貿(mào)易條款VARCHAR2(30)
說明VARCHAR21600)
打印版式CHAR(l)
歸檔前狀態(tài)INT
狀態(tài)INT
走貨狀態(tài)INT
創(chuàng)建人VARCIIAR2(4O)
創(chuàng)建部門VARQ[AR2(40)
創(chuàng)建LI期TIMESTAMP
FKCONTRACTRE網(wǎng)l、CECONTRACT
合同貨物合同附件
CONTRACTPRODUCTIDVARCIL\R2(4O)<pk>EXTCPRODUCTIDVARCHAR2(40)<pk>
CONTRACTIDVARQIAR2(4O)<fkl>CONTRACTPRODUCTIDVARCHAK2(40)<fk2>
FACTORYIDVARCIIAR2(4O)<fk2>FACTORY」DVARCHAR2(40)<fkl>
廠家名稱VARCHAR2(5O)廠家名稱VARCHAR2(50)
貨號(hào)VARC1L\R2(5O)類型INT
貨物照片VAKC1IAR2(2OO)貨號(hào)VARCHAR2(50)
貨物描述VARGIAR2(6OO)貨物照片VARQIAR2(200)
數(shù)世1NT貧物描述VARCHAR2(600)
實(shí)際出貨數(shù)量INT數(shù)最I(lǐng)NT
裝率VAKCIIAR2(10)包裝單位VARCHAR2(10)
箱數(shù)INT單價(jià)NUMBER(10,2)
包裝單位VARCIIAR2(10)總金額NUMBER(10,2)
單價(jià)NUMBER(10,2)要求VARCHAR2(2000)
總金額NUMBER(10,2)排,手號(hào)INT
是否出貨完畢INT
附件VARCHAR2(5O)
排序號(hào)INT
在實(shí)際開發(fā)中,架構(gòu)師搭建項(xiàng)目框架,框架基類均有,基本工具類,統(tǒng)同樣式表,統(tǒng)一公用js,
圖片公司提供一種CVS/SVN賬號(hào),配備環(huán)境,從中檢出你負(fù)責(zé)項(xiàng)目代碼。代碼普通以項(xiàng)目
構(gòu)造。導(dǎo)入工程,在其上面開發(fā)新業(yè)務(wù)模塊。
5.業(yè)務(wù)需求
銷售人員錄入合同步,它為草稿狀態(tài),這時(shí)只能銷售人員自己看到。只有當(dāng)銷售人員檢查合
同無誤,提交,狀態(tài)變成“已上報(bào)”。這時(shí)候,其她人員才可以看到。銷售領(lǐng)導(dǎo)和船務(wù)專責(zé)才
干看到。運(yùn)用這個(gè)狀態(tài)字段來控制對(duì)當(dāng)前顧客與否可見。(細(xì)粒度權(quán)限控制?數(shù)據(jù)權(quán)限)
6.重點(diǎn)知識(shí)回顧
貨運(yùn)管理核心業(yè)務(wù)流程:購(gòu)銷合同
1.定義
購(gòu)銷合同是杰信和生產(chǎn)廠家訂立合同。
2.業(yè)務(wù)復(fù)雜度
購(gòu)銷合同業(yè)務(wù)比較復(fù)雜,它是貨運(yùn)管理一種流程,它涉及三某些內(nèi)容,合同主信息和各種貨
品信息和各種附件信息。合同主信息和貨品是一對(duì)多,貨品和附件信息是?對(duì)多。
3.從業(yè)務(wù)中遷出技術(shù)亮點(diǎn)
前期我參加了業(yè)務(wù)調(diào)研,重點(diǎn)負(fù)責(zé)購(gòu)銷合同。給客戶交流后,我編寫了《需求闡明書》,然
后參數(shù)購(gòu)銷合同表設(shè)計(jì)。從需求闡明書結(jié)合客戶給電子表格,我抽取出數(shù)據(jù)庫(kù)表,運(yùn)月PD
進(jìn)行建模。
設(shè)計(jì):
1.跟客戶聊天,要引導(dǎo)性和她們聊天。業(yè)務(wù)基本術(shù)語,理解業(yè)務(wù)流程
進(jìn)一步內(nèi)容,拿到客戶手中既有某個(gè)模塊表單,電子表格,填寫內(nèi)容,每個(gè)內(nèi)容要注意事項(xiàng)。
來源:手填,從其她模塊來獲取。摳每個(gè)字段,電子表格中每個(gè)內(nèi)容。
《詳細(xì)闡明書》功能細(xì)化,業(yè)務(wù)邏輯說清晰,畫圖輔助開發(fā),UML(類圖、序列圖、狀態(tài)圖)
數(shù)據(jù)庫(kù)建模細(xì)化。
目:開發(fā)人員可以依照詳細(xì)設(shè)計(jì)開始開發(fā)。
詳細(xì)設(shè)計(jì)本意能達(dá)到開發(fā)人員無需和客戶溝通,就可以在設(shè)計(jì)人員指引下就可以直接開發(fā)
出客戶滿意代碼。但實(shí)際中做不到。設(shè)計(jì)不到位。實(shí)際中開發(fā)往復(fù)比較多。
令第三天購(gòu)銷合同+貨品信息+附件信息
a)業(yè)務(wù)需求:上報(bào)、取消
b)功能:
上報(bào)實(shí)現(xiàn)銷售人員擬定購(gòu)銷合同錄入完畢,檢查無誤后,上報(bào)給領(lǐng)導(dǎo),領(lǐng)導(dǎo)審核無誤后,提
交給船運(yùn)部。
取消實(shí)現(xiàn)行船務(wù)專責(zé)未解決此有關(guān)合同步,可以取消這個(gè)合同,重新修改合同內(nèi)容,然后再
次上報(bào)。如果船運(yùn)專費(fèi)已經(jīng)開始解決報(bào)運(yùn)業(yè)務(wù),不能取消,必要走貨品增補(bǔ)流程。
設(shè)計(jì)實(shí)現(xiàn):
在表中增長(zhǎng)狀態(tài)字段,新增時(shí)默認(rèn)狀態(tài)為0草稿,當(dāng)銷售專責(zé)確認(rèn)無誤后,點(diǎn)擊“上報(bào)”狀
態(tài)變?yōu)?己上報(bào)。
當(dāng)船運(yùn)專責(zé)未解決報(bào)運(yùn)時(shí),銷售專責(zé)點(diǎn)擊“取消”狀態(tài)變?yōu)?,草稿。
狀態(tài)為0時(shí),只能銷售專責(zé)自己看到,當(dāng)狀態(tài)為1時(shí),她領(lǐng)導(dǎo)和報(bào)運(yùn)專責(zé)都可以看到。
1.??第四天??購(gòu)銷合同查看??SQL語句Power
2.附件業(yè)務(wù)實(shí)現(xiàn)
隨時(shí)攜帶主表ID
3.購(gòu)銷合同查看
合同下貨品,貨品下面附件,在購(gòu)銷合同中所有瀏覽,體現(xiàn)貨品和附件關(guān)系。
構(gòu)建對(duì)象關(guān)系
4.*細(xì)粒度權(quán)限控制
1)主菜單,左側(cè)菜單,按鈕,URL,辦法,業(yè)界都稱為粗粒度權(quán)限控制。尋常小系統(tǒng),基于顧
客,角色,權(quán)限架構(gòu)足夠用。
2)在實(shí)際大型項(xiàng)目中,光有上面顧客角色,URL這樣控制粒度不夠細(xì)致,尚有數(shù)據(jù)訪問權(quán)
限。
3)對(duì)數(shù)據(jù)訪問列是可以自己定制。
4)例如:訪問一種人員工資信息表,這個(gè)表中具有人員工資。
5)對(duì)數(shù)據(jù)訪問行可以受權(quán)限控制。
例如:工資表中有銷售部人員工資信息,尚有船運(yùn)部人員工資信息。當(dāng)銷售部領(lǐng)導(dǎo)登錄時(shí),
她只能看到銷售人員工資信息,她不能看到船運(yùn)部人員工資信息。
直接瀏覽數(shù)據(jù)庫(kù)表,工資列不能直接看到其值。乂寸這個(gè)數(shù)據(jù)庫(kù)列進(jìn)行加密。
上面統(tǒng)稱為數(shù)據(jù)訪問權(quán)限,這個(gè)權(quán)限加上角色顧客這樣這個(gè)系統(tǒng)才比較安全。也稱為細(xì)粒度
權(quán)限控制。
列訪問控制:
單獨(dú)建立表,權(quán)限分派某個(gè)角色能訪問哪些列:
1)行訪問控制:
只能看自己創(chuàng)立記錄,不能看到別人創(chuàng)立記錄
Wherecreate_by=當(dāng)前登陸人ID
部門領(lǐng)導(dǎo)看到,她能看到本部門人員創(chuàng)立記錄,不能看到其她部門人員創(chuàng)立記錄
Wherecreate_dept=當(dāng)前登陸人部門IDanduserjevel<4
跨部門訪問權(quán)限,分管領(lǐng)導(dǎo)跨部門,跨人員
再加一種配備表,分管領(lǐng)導(dǎo)可以管理人和部門;
分管領(lǐng)導(dǎo)
財(cái)務(wù)部
'社保組
工資組
令第七天異構(gòu)數(shù)據(jù)庫(kù)支持+出口報(bào)運(yùn)核心業(yè)務(wù)
a)核心業(yè)務(wù):貨運(yùn)管理第二個(gè)流程,出口報(bào)運(yùn)
b)定義:
做國(guó)際物流,貨品要運(yùn)往國(guó)外之前,向海關(guān)申報(bào)。向海美申報(bào)符合國(guó)標(biāo)貨品,和貨品體積和
重量信息。除了在合同中貨品基本信息外,在報(bào)運(yùn)時(shí)新增7個(gè)字段,長(zhǎng),寬,高,毛重,凈重,
出口單價(jià),含稅。
分次報(bào)運(yùn)
一種可以可以分多次來報(bào)運(yùn),體當(dāng)前運(yùn)送貨品數(shù)上。
例如:10000貨品,第一次報(bào)運(yùn)運(yùn)送6000,第二次報(bào)運(yùn)運(yùn)送4000.
可以多次報(bào)運(yùn),這種狀況很少。尋常大多是一次報(bào)運(yùn)。
C)分析設(shè)計(jì)
一種出口報(bào)運(yùn)單來自各種購(gòu)銷合同(一對(duì)多);給貨品信息新增7個(gè)字段內(nèi)容。
創(chuàng)立一種出口報(bào)運(yùn)單表
d)冗余設(shè)計(jì)
e)將貨品信息冗余到報(bào)運(yùn)單下貨品信息中。一種實(shí)現(xiàn)讀
取數(shù)據(jù)迅速,減小業(yè)務(wù)復(fù)雜度,業(yè)務(wù)邏輯簡(jiǎn)樸。
f)打斷設(shè)計(jì)實(shí)現(xiàn)跳躍查詢
避免關(guān)聯(lián)層級(jí)過多,數(shù)據(jù)量大了后,訪問奇慢。打斷設(shè)計(jì)。(表設(shè)計(jì)不成為文規(guī)定,表之
間關(guān)聯(lián)關(guān)系不超過4層)在設(shè)計(jì)時(shí)使用一種虛線箭頭來表達(dá)表之間是存在關(guān)聯(lián)關(guān)系,在設(shè)計(jì)
時(shí),不是往常外鍵關(guān)系。運(yùn)用一種字段來存儲(chǔ)主表和子表之間關(guān)系。X,Y
WherecontractJdin('x'y')。通過打斷設(shè)計(jì),表之間關(guān)系不存在,跳躍查詢。無需查詢
合同表,直接查詢合同下貨品表。(新增)
通過上面設(shè)計(jì),后續(xù)業(yè)務(wù)變更加簡(jiǎn)樸。
DatabaseGeneration-F|watMlBatelMUdel_l0|El
General|Options|Forro,|Selection|Previmr]
鉗PhysicalDataModel」日旨四<None>_▼[喻▼Q▼疽小生|/看
NameCodeParent
口E意見反饋FEEDBACKSPhysicalDataModel'PhysicalD...目
□E購(gòu)i肖合同CONTRACT/PhysicalDataModel'PhysicalD...
□口合同下貨物CONTR>\CT_PRODUCT_CPhysicalDataModel'PhysicalD...
□□生產(chǎn)廠家FACTORY.CPhysicalDataModel'PhysicalD...
JLS產(chǎn)品ITEMS_CPhysicalDataModel'PhysicalD...
M口報(bào)運(yùn)單EXPORT_CPhysicalDataModel'PhysicalD...
0囪]財(cái)簫蹴陰?EXPORT.PRODUCT.CPhysicalDataModel'PhysicalD...▼
]\Tablesf-
Filter:Selectedobject(s):|3/24
Selection:<Nameyourselection>▼?|刃
招▼I確定[|取消應(yīng)用GT)幫助
報(bào)運(yùn)單
出
「varchar(40)<pk>
制
EXK,r期
單H
datetime
編
號(hào)
合
詞varchar(200)
確
合
或
同
varchar(200)
及
以C
varchar(10)7
?
人
收No
貨
varchar(100)
唆
頭
港varchar(1000)
裝
運(yùn)
港varchar(100)
目
的
方varchar(100)
運(yùn)
輸
式
varchar(10)
價(jià)
件
格
條
備varchar(10)
注
常varchar(100)
總
毛
重
總
凈numeric(10,2)
體numeric(10,2)
積
總
金numeric(10,2)
AI額3
numeric(10,2)
狀
態(tài)
人
創(chuàng)
建int
部
創(chuàng)varchar(40)
建
門
日
創(chuàng)
建varchar(40)
期
datetime
報(bào)運(yùn)商品明細(xì)
EXPORTPRODUCTIDvarchar(40)<pk>
EXPORTIDvarchar(40)<fkl>
I'ACTORYII)varchar(40)<fk2>
廠家名稱varchar(200)
產(chǎn)品名稱varchar(200)
貨號(hào)varchar(50)
包裝單位varchar(10)
數(shù)量int報(bào)運(yùn)商品附件
件數(shù)
intEXTEPRODUCTIDvarchar(40)<pk>
毛重
numeric(10,2)EXPORTPRODUCTIDvarchar(40)<fk2>
凈重numeric(10,2)
FACTORYIDvarchar(10)<fkl>
尺寸長(zhǎng)
numeric(10,2)廠家varchar(200)
尺寸寬numeric(10,2)
類型[系統(tǒng)下拉列表]int
尺寸高
numeric(10,2)貨號(hào)varchar(50)
出口總價(jià)
numeric(10,2)貨物照片varchar(200)
含稅
numeric(10.2)貨物描述varchar(600)
排序號(hào)
int數(shù)量int
包裝單位vaicliai(10)
單價(jià)numeric(10,2)
總金額numeric(10,2)
要求varchar(2000)
排序號(hào)int
業(yè)務(wù),勞保報(bào)表
領(lǐng)用周期不同
鞋帽子手套毛巾軍大衣洗衣粉飯盒???
班組110105
班組220203
6000個(gè)單元格
哪個(gè)單元格內(nèi)容進(jìn)行修改代碼只修改修改框。給每個(gè)文本框增長(zhǎng)一種隱藏域。1個(gè)信息要
提交。本來目是優(yōu)化,成果速度更慢。
最后每行添加一種隱藏域,當(dāng)這行數(shù)據(jù)進(jìn)行了修改,在文本框失去焦點(diǎn)事件onBlur,動(dòng)態(tài)設(shè)
立這個(gè)隱藏域?yàn)閘o在修改代碼時(shí)依照這個(gè)值判斷,只有1時(shí)候,數(shù)據(jù)才進(jìn)行修改。不是1
跳過。
批量新增,增長(zhǎng)一種新增按鈕,點(diǎn)一次調(diào)研一次addRecord辦法,它屬性值,都為空串。
批量刪除,表格dhtml提供刪除行操作,remove,它把行從table中刪除。數(shù)據(jù)庫(kù)并沒有刪除,
刪除各種框時(shí),記錄下它們id值,拼成一種串,用逗號(hào)隔開。后臺(tái)代碼判斷這個(gè)隱藏域提交
值不為空,刪除這幾種數(shù)據(jù)。
2.知識(shí)回顧
打斷設(shè)計(jì):
1.數(shù)據(jù)庫(kù)設(shè)計(jì)先按照三范式,之后對(duì)某些需要優(yōu)化地方,使用反三范式設(shè)計(jì)(冗余)(以空間
換設(shè)計(jì))
2.實(shí)際業(yè)務(wù)非常復(fù)雜,關(guān)聯(lián)層級(jí)過多,隨著系統(tǒng)上線運(yùn)營(yíng),顧客數(shù)據(jù)隨著使用時(shí)間,線性增
長(zhǎng)。不成文規(guī)定:關(guān)聯(lián)層級(jí)在設(shè)計(jì)不超過4層。打斷設(shè)計(jì),在主表中加一種字段,字段來存
儲(chǔ)兩個(gè)表之間關(guān)系。各種時(shí)候,之間用逗號(hào)隔開。普通狀況下都是一次報(bào)運(yùn),就是一種合同
一次報(bào)運(yùn),個(gè)別狀況下各種合同一次報(bào)運(yùn),極端狀況下3個(gè)合同一次報(bào)運(yùn)。
由「打斷設(shè)il,實(shí)現(xiàn)“跳跋查詢”。報(bào)運(yùn)需要合同下貨品信息時(shí),無需通過各種合同對(duì)象,就
可以直接查詢貨品信息,通過這個(gè)打斷設(shè)計(jì)字段,運(yùn)用SQLin子查詢。
核心業(yè)務(wù):貨運(yùn)管理,出口報(bào)運(yùn)
業(yè)務(wù),杰信獲得訂單后,安排各種生產(chǎn)廠家生產(chǎn)貨品,與此同步杰信準(zhǔn)備報(bào)關(guān)材料,除了海
關(guān)規(guī)定某些制式文檔和杰信系統(tǒng)打印《出口商品報(bào)運(yùn)單》,交給海關(guān)進(jìn)行審核。
3.頁(yè)面控制
a)報(bào)運(yùn)單新增,暗度陳倉(cāng)。
b)顧客選取報(bào)運(yùn)關(guān)聯(lián)各種合同,代碼直接進(jìn)行數(shù)據(jù)保存。
保存有關(guān)合同id集合,合同號(hào)集合,保存冗余貨品信
息,保存冗余附件信息。
c)批量修改
Mrecord自定義控件,來信息補(bǔ)錄。批晟,在頁(yè)面上運(yùn)用DHTML動(dòng)態(tài)表格技術(shù),實(shí)現(xiàn)表格元
素動(dòng)態(tài)增長(zhǎng),動(dòng)態(tài)創(chuàng)立行,動(dòng)態(tài)創(chuàng)立單元格,運(yùn)用innerHTML動(dòng)態(tài)向單元格插入文本框,帶
數(shù)據(jù)。在后臺(tái)準(zhǔn)備數(shù)據(jù),拼接成js串,將它寫入一種變量中,在頁(yè)面jQueryready事件中,調(diào)
用這個(gè)變量,形成各種js串,依次執(zhí)行。動(dòng)態(tài)添加到表格中。由于js運(yùn)營(yíng)不久,顧客感覺不
到添加過程,覺得直接展示。這樣為顧客提供一種非常以便操作??梢耘縼硇薷呢浧沸畔ⅰ?/p>
每行運(yùn)用一種隱藏域,來存儲(chǔ)與否修改標(biāo)記,這樣在記錄行數(shù)過多時(shí),修改效應(yīng)也非常高。
Mrecord控件它可以實(shí)現(xiàn)動(dòng)態(tài)新增,還可以實(shí)現(xiàn)批量刪除,自動(dòng)排序。
令第八天裝箱、委托、發(fā)票,財(cái)務(wù)業(yè)務(wù)+合同歸檔
1.貨運(yùn)管理涉及:購(gòu)銷合同、出口報(bào)運(yùn)、裝箱、委托、發(fā)票、
財(cái)務(wù)記錄。
2.裝箱
海關(guān)批準(zhǔn)杰信申請(qǐng),像船東申請(qǐng)集裝箱,杰信找貨代公司請(qǐng)她幫著訂箱。杰信找拖車公司,
訂拖車,拖車公司到碼頭拉空箱。拉著空箱到生產(chǎn)廠家倉(cāng)庫(kù)。生產(chǎn)廠家在杰信驗(yàn)貨員監(jiān)督IS
先將貨品裝到紙箱子中,然后在將紙箱子裝入集裝箱。拖車?yán)鴿M箱到海關(guān)指定碼頭指定地
方卸貨。這幾種箱子風(fēng)吹雨淋。海關(guān)進(jìn)行抽檢。直到船來了。將集裝箱放到船上。開船從裝
運(yùn)港出發(fā),到目港。
裝箱時(shí),產(chǎn)生發(fā)票號(hào)。同步產(chǎn)生發(fā)票日期。
?種裝箱單來自各種報(bào)運(yùn)單(?對(duì)多)
發(fā)票,委托
在貨品裝船同步,杰信就開具發(fā)票,這個(gè)發(fā)票只是一種告知單,它內(nèi)容就是告訴客戶貨品已
經(jīng)發(fā)出,請(qǐng)支付剩余款項(xiàng)。同步快遞客戶一種提單??蛻羰盏桨l(fā)票告知后,支付剩余款項(xiàng),同
步當(dāng)貨品到達(dá)目港后,客戶拿著提單去提貨??蛻袈?lián)系貨代公司,聯(lián)系拖車公司,拖車?yán)?/p>
滿箱到客戶指定倉(cāng)庫(kù),卸貨??蛻趄?yàn)貨,整個(gè)貨運(yùn)流程完畢,杰信和客戶合同完畢。
3.財(cái)務(wù)
財(cái)務(wù)模塊不屬于貨運(yùn)業(yè)務(wù)流程。它是杰信自己內(nèi)部進(jìn)行財(cái)務(wù)核算模塊。記錄這單合同有無賺
取利潤(rùn)。形成記錄報(bào)表給領(lǐng)導(dǎo)展示。
4.一對(duì)一特殊設(shè)計(jì)
一種委托來自一種發(fā)票,一種發(fā)票來自一種委托,一種財(cái)務(wù)來自一種委托。(一對(duì)一)
一對(duì)一所有表內(nèi)容可以合成一張表,構(gòu)造不清晰,業(yè)務(wù)不清晰。
發(fā)票,委托,財(cái)務(wù)表主鍵就是裝箱單ID。
上面三張表,它們主鍵既外鍵。主外鍵一種值。
舉例,假定拿到ID,無論是裝箱、委托、發(fā)票、財(cái)務(wù),都可以查詢它們其中任何一種數(shù)據(jù)。
實(shí)現(xiàn)跳躍查詢。
財(cái)務(wù)需要貨品信息和附件信息〃通過打斷設(shè)計(jì),可以直接跳過發(fā)票、委托,直接找到裝箱,通
過裝箱打斷設(shè)計(jì)字段,直接去搜索報(bào)運(yùn)下貨品和附件信息。由于之邁進(jìn)行了冗余設(shè)計(jì),財(cái)務(wù)
所需貨品信息和附件信息,在報(bào)運(yùn)中均有。查詢效率提高數(shù)倍。
5.出口報(bào)運(yùn)狀態(tài)
0-草稿1-己上報(bào)2-裝箱。委托4-發(fā)票5-財(cái)務(wù)
體現(xiàn)流程,客戶隨時(shí)想理解訂單進(jìn)展?fàn)顩r,流程跟蹤。在報(bào)運(yùn)列表頁(yè)面隨時(shí)理解某個(gè)合同進(jìn)
行到哪里。
6.數(shù)據(jù)庫(kù)優(yōu)化
a)數(shù)據(jù)庫(kù)表設(shè)計(jì)
?由本來注重節(jié)約空間,變?yōu)樽⒅匦阅堋_\(yùn)用冗余,實(shí)現(xiàn)性能數(shù)倍提高。
?表優(yōu)化,監(jiān)測(cè)數(shù)據(jù)執(zhí)行時(shí)間。分表1)分字段(縱向分表)精簡(jiǎn)完核心查詢它只需
要近30個(gè)字段。本來需要1分多查詢,當(dāng)前只1秒多呈現(xiàn)頁(yè)面。2)數(shù)據(jù)(橫向分
表)一種表數(shù)據(jù)量過人。業(yè)務(wù)中有曲數(shù)據(jù)不慣用,將這此不慣用數(shù)據(jù)放到此外一張
表中,稱這個(gè)表為歷史表。專門做一種歷史查詢模塊,提供顧客還可以查詢。
?表之間關(guān)聯(lián)關(guān)系不要太復(fù)雜。打斷設(shè)計(jì)
SQL優(yōu)化,在做復(fù)雜關(guān)聯(lián)關(guān)系,SQL優(yōu)化極其重要。
Select*fromcontract_c,contract_product_c,ext_cproduct_c,factory_c
Wherecontractjd,contract_product_id,factory_id...
b)先找最小成果集,只查詢某個(gè)合同下貨品,只查詢某
個(gè)貨品下附件,只要查看這個(gè)合同
C)數(shù)據(jù)庫(kù)選型
?單個(gè)數(shù)據(jù)庫(kù)優(yōu)先選取Oracle,DB2
集群mysql,讀寫分離,單獨(dú)讀數(shù)據(jù)數(shù)據(jù)庫(kù),單獨(dú)寫數(shù)據(jù)庫(kù)
Web應(yīng)用服務(wù)增長(zhǎng),可以增大訪問量,同步分擔(dān)數(shù)據(jù)庫(kù)服務(wù)器壓力。
分表,購(gòu)銷合同歷史
當(dāng)前活動(dòng)表,它和歷史表構(gòu)造同樣。
主模塊中所有表,歷史中均有有。例如:購(gòu)銷合同,合同、貨品、附件都需要相應(yīng)歷史表。
創(chuàng)立domain
批量新增SQL,JDBCjdbcTemplespring
7.在一種系統(tǒng)架構(gòu)中
普通訪問數(shù)據(jù)兩種方式
?hiberntate/mybatis完畢數(shù)據(jù)持久化:新增,修改,刪除,簡(jiǎn)樸查詢
jdbc/jdbcTemlpate/dbutil批顯操作,批量新增,批量修改,級(jí)聯(lián)刪除,記錄查詢
重要框架來完畢尋常業(yè)務(wù),普通批量查詢使用jdbc,對(duì)于這些模塊,緩存就要注意使用。有
時(shí)不要配備緩存。
購(gòu)銷合同歸檔,取消歸檔
--合同表數(shù)據(jù)進(jìn)行歸檔
INSERTINTOcontracthisc
SELECT*FROMcontract_cWHEREcontract_idIN('x'/y')
--貨品數(shù)據(jù)進(jìn)行歸檔
INSERTINTOcontract_product_his_c
SELECT*FROMcontract_product_cWHEREcontract_prodtct_idIN(SELECTcontract_prodtct_id
FROMcontract_product_cWHEREcontract_idIN('x7y'))
-附件數(shù)據(jù)進(jìn)行歸檔
INSERTINTOext_cproduct_his_c
SELECT*FROMext_cproduct_cWHEREext_cproduct_idIN(SELECText_cproduct_idFROM
ext_cproduct_cWHEREcontract_product_idIN(SELECTcontract_product_idFROM
contract_product_cWHEREcontractjdINfx'/y'))
--刪除合同
DELETEFROMcontract_c
WHEREcontractjdIN('x'/y')
--刪除貨品
DELETEFROMcontract_product_c
WHEREcontract_product_idIN(SELECTcontract_product_idFROMcontract_product_cWHERE
contractjdINCx'.V))
--刪除附件
DELETEFROMext_cproduct_c
WHEREext_cproduct_idIN(SELECText_cproduct_idFROMext_cproduct_cWHERE
contract_product_idIN(SELECTcontract_product_idFROMcontract_product_cWHERE
contract_idIN('x7y'))
8.知識(shí)回顧
a)業(yè)務(wù):貨運(yùn)管理,
b)購(gòu)銷合同,出口報(bào)運(yùn),home裝箱單(預(yù)裝箱),裝箱,
委托,發(fā)票(告知),財(cái)務(wù)記錄。
【面試】工作流實(shí)既有什么好處?
杰信系統(tǒng)實(shí)現(xiàn)狀態(tài)控制流程。
瀏覽每步流程開始時(shí)間,操作人,結(jié)束時(shí)間,審核人
突然在流程環(huán)節(jié)中增長(zhǎng)一步
工作流擴(kuò)充流程時(shí),非常以便,修改一下流程圖,工作流自動(dòng)記錄所有操作人和操作時(shí)間,
操作意見。狀態(tài)代碼配合T.作流來實(shí)現(xiàn)。狀態(tài)采用常量來定義,只有新增長(zhǎng)狀態(tài),才需要編
碼。
C)表設(shè)計(jì)
委托,發(fā)票,財(cái)務(wù)它們表主鍵既外鍵,它們ID值都是裝箱ID。由于它們4個(gè)關(guān)系都是一對(duì)一。
關(guān)聯(lián)時(shí)近來配備,需要前面業(yè)務(wù)數(shù)據(jù)時(shí),可以實(shí)現(xiàn)跳躍查詢。這樣查詢效率高。
d)頁(yè)面設(shè)計(jì)
裝箱新增,它需要在新增頁(yè)面體現(xiàn)裝箱和報(bào)運(yùn)關(guān)系。DivURL鏈接。
攜帶信息ID,checkbox中;no也放到checkbox,用豎杠隔開,一種checkbox傳遞了兩個(gè)值,無
需再次查詢數(shù)據(jù)庫(kù),提高性能,手工解串。(大量(超過10個(gè)字段)或者信息比較敏感,不
推薦使用這種辦法,推薦還使用通過id查找其她內(nèi)容)
令第九天圖形報(bào)表~讓微軟都羨慕報(bào)表
?Java要實(shí)現(xiàn)圖形報(bào)表均有什么方式?
?jFreeChart純javaAPI,運(yùn)用生成一張圖片。
?excel圖形報(bào)表,poi不能直接操作圖形報(bào)表控件。變相解決,先做一種excel模板,插入
好圖表控件,然后運(yùn)用poi動(dòng)態(tài)設(shè)立它數(shù)據(jù)。顧客打開excel,圖表直接呈現(xiàn)。
第三方報(bào)表軟件,可視化開發(fā)。開發(fā)效率極高??梢暬季纸缑妫鋫鋽?shù)據(jù)源即可。(SQL成
果集)。收費(fèi)。數(shù)巨報(bào)表(10w,每年服務(wù)費(fèi)lw)。做一種應(yīng)用程序,(C/S程序),IE上安裝
插件。兼容性。
amChartsFLASH,只需要構(gòu)建數(shù)據(jù)xmL
1)需要swf控件,例如餅形通用
2)setting.xml不通用
data.xmKdata.txt,xml格式;更加直觀,不通用
chartcontroller
factorvSale-----卞生成fact0rysale/data.xmlfactorysql/index.xml
^factorysale//1
jStat.jsp?forword
/productsale
/“productsale/index.html
productsale-----\^figproductsale/data.xml
sqlDao查詢成果集封裝,通用
sqlDao.extcuteList
List<String>一維字符串?dāng)?shù)組
□£actory__namesumnum
三花~I4680I呼華
□
□精藝3664
4680
□民益4200
□天順6148
華藝3502[精藝
文水志選1080
3664
?工作原理
amCharts只需要一次配備;公用flash,改造index.html,訪問公用swfobject.js和公用flashswf
本來文獻(xiàn)。樣式文獻(xiàn)訪問本地,這樣可以以便修改配備顏色,坐標(biāo),顯示樣式等。數(shù)據(jù)
data.xml文獻(xiàn)。將從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)拼接成xml節(jié)點(diǎn),寫入到這個(gè)文本文獻(xiàn)中。轉(zhuǎn)向jStmt.jsp
統(tǒng)?轉(zhuǎn)向相應(yīng)forward參數(shù)目錄下index.html。(注意:html瀏覽器默認(rèn)均有緩存,在做
index.html要去掉緩存)
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/>
<metahttp-equiv="pragma1content="no-cache">
<metahttp-equiv="Cache-Control"content="no-cachezmust-revalidate">
1.<metahttp-equiv=,fexpires"content=nWed,26Feb
199708:21:57GMTn>
2.jFreeChart>exceRamChartsPK比較
jFreeChart純javaapi,缺陷:圖形非常粗糙,它實(shí)際是運(yùn)用jFreeChartapi生成圖片,體現(xiàn)力
差,專門api需要記憶。
a)生產(chǎn)廠家銷售狀況?餅形圖
需求:
生產(chǎn)廠家銷售狀況,廠家+銷售
SELECT
^p.sumnum
FROM
(SELECTfactory_id,factory_nameFROMfactory_cWHEREstate=l)f
LEFTJOIN
(
SELECTfactory_id,SUM(cnumber)ASsumnumFROMcontract_product_c
GROUPBYfactoryjd
)cp
ONf.factoryjd=cp.factory_id
WHEREcp.sumnumISNOTnull
文水志孟:4,64%
b)產(chǎn)品銷售排行?柱狀圖
需求:
產(chǎn)品銷售狀況,暢銷產(chǎn)品前io名,產(chǎn)品+銷售
SELECTproduct_no,SUM(criumber)ASsumnumFROMcontract_product_c
GROUPBYproduct_noORDERBYsumnumDESC
LIMIT10
繪圖區(qū)1e
2500-1
2000-
1500-
1000-
c)系統(tǒng)訪問壓力圖?曲線圖
需求:系統(tǒng)訪問壓力圖
記錄顧客登陸系統(tǒng),就記錄一條
'西1Result2Profiler。3Messages4TableData■,5Info6History
*」£曲一▼AllRow:?SowsinaRw<>First@0同,。,?!?0[Refresh1
Row:lows:
LOGIN_LOG_IDLOGIU_NAMEIP_ADDRESSLOGIN_TIME
□00330EC5-4F2C-48BB-AFC1-ADC5CBAEB7AC0011調(diào)試192.168.1.1102012-01-1714:04:46
□009275C9-7459-4862-B339-C7CD13C244D60011調(diào)試192.168.1.1102012-01-1711:57:33
□00D0157A-AD60-4856-802E-A3461F6939E00011調(diào)試127.0.0.12011-10-0712:37:29
□00DA73C6-8DB4-402A-BEE0-95BDD79D0CDB0011調(diào)試192.168.1.1032012-09-1110:56:23
□011BD53F-99AF-4B45-B23B-4E02723BE7D70011調(diào)試192.168.1.1062012-10-2914:23:51
□015CC22A-5C53-4597-B4AC-B51694D75C860011詞試192.168.1.1032012-01-2016:03:49
□01970044-E8A0-41DD-A7CB-EF0E012FE7980011詞法192.168.1.1032012-01-1811:40:17
□01C6DB18-D8AC-48CE-B3F2-09BCDFD8D9A30011調(diào)試127.0.0.12011-08-2122:34:13
記錄每天登陸系統(tǒng)次數(shù)
SELECTSUBSTRING(login_time,l,10),COUNT(login_time)FROMlogin_log_p
GROUPBYSUBSTRINGfloginJimeJJO)
記錄24小時(shí)系統(tǒng)訪問次數(shù)
當(dāng)數(shù)據(jù)不夠時(shí),運(yùn)用暫時(shí)表湊數(shù)據(jù)
SELECT
t.al,IFNULL(p.countnum,0)AScountnum
FROM
(SELECTalFROMonline_t)t
LEFTJOIN
SELECTSUBSTRING(login_time,12,2)ASal,COUNT(login_time)AScountnumFROMlogin_log_p
GROUPBYSUBSTRING(login_time42,2)
)P
ON
t.al=p.al
系統(tǒng)訪問壓力圖
總結(jié):
圖形報(bào)表業(yè)界一經(jīng)相稱成熟,提出公用,稱作報(bào)表引擎。
系統(tǒng)監(jiān)控,系統(tǒng)想懂得系統(tǒng)訪問瓶頸在哪里?
需求
系統(tǒng)瓶頸是指,訪問最長(zhǎng)時(shí)間,寫數(shù)據(jù)操作,寫磁盤文獻(xiàn)操作。都比較耗時(shí),顧客體驗(yàn)不好。
1)找出系統(tǒng)這些操作慢地方,
2)分析因素
優(yōu)化,顧客使用頻繁模塊,對(duì)其優(yōu)化
實(shí)現(xiàn)一種性能監(jiān)控程序
d)初期使用繼承方式
記錄開始時(shí)間,記錄結(jié)束時(shí)間,結(jié)束時(shí)間-開始時(shí)間=耗時(shí)
e)寫到日記文獻(xiàn)中,寫到數(shù)據(jù)庫(kù)中
f)攔截器
配備springmvc攔截器,記錄開始時(shí)間,結(jié)束時(shí)間,打口記。
g)開發(fā)環(huán)節(jié)
1)寫一種攔截器,實(shí)現(xiàn)一種接口Handlerinterceptor
2)實(shí)現(xiàn)共用變量,安全性
配備springmvc攔截器配各,springmvc-servlet.xml
packagecn.iteast.jk.interceptor;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.springframework.core.NamedThreadLocal;
importorg.springframework.web.servlet.Handlerlntercepto";
importorg.springframework.web.servlet.ModelAndView;
importcommon.Logger;
〃功能:實(shí)現(xiàn)對(duì)所有類辦法執(zhí)行時(shí)間監(jiān)控
publicclassTimeinterceptorimplementsHandlerlntercepto"{
〃引入Iog4j日記
privatestaticLoggerlog=Logger.getLogger(Timelnterceptor.class);
〃運(yùn)用ThreadLocal綁定?種變量,完畢線程安全
NamedThreadLocal<Long>startTimeThreadLocaI=new
NamedThreadLocal<Long>("startTimeThreadLocar');
〃解決類之前,執(zhí)行preHandle辦法
@Override
publicbooleanpreHandlefHttpServl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)第四學(xué)年(教育學(xué))教育行動(dòng)研究試題及答案
- 2025-2026年六年級(jí)歷史(模塊測(cè)試)上學(xué)期期中測(cè)試卷
- 2025年大學(xué)醫(yī)學(xué)影像學(xué)(學(xué)術(shù)研究實(shí)務(wù))試題及答案
- 2025年高職石油與天然氣(油氣技術(shù)推廣)試題及答案
- 2026年中職第二學(xué)年(中西面點(diǎn)工藝)西式糕點(diǎn)制作階段測(cè)試題及答案
- 2025年大學(xué)第三學(xué)年(康復(fù)治療學(xué))康復(fù)工程基礎(chǔ)階段測(cè)試試題及答案
- 2026上半年外語(盧森堡語HSK四級(jí))實(shí)戰(zhàn)技巧
- 深度解析(2026)《GBT 18294.2-2010火災(zāi)技術(shù)鑒定方法 第2部分:薄層色譜法》
- 深度解析(2026)《GBT 18199-2000外照射事故受照人員的醫(yī)學(xué)處理和治療方案》
- 深度解析(2026)《GBT 17980.72-2004農(nóng)藥 田間藥效試驗(yàn)準(zhǔn)則(二) 第72部分殺蟲劑防治旱地地下害蟲》
- 切爾諾貝利核電站事故工程倫理分析
- 初中地理七年級(jí)上冊(cè)第七章第四節(jié)俄羅斯
- 法院起訴收款賬戶確認(rèn)書范本
- 課堂觀察與評(píng)價(jià)的基本方法課件
- 私募基金內(nèi)部人員交易管理制度模版
- 針對(duì)低層次學(xué)生的高考英語復(fù)習(xí)提分有效策略 高三英語復(fù)習(xí)備考講座
- (完整)《走遍德國(guó)》配套練習(xí)答案
- 考研準(zhǔn)考證模板word
- 周練習(xí)15- 牛津譯林版八年級(jí)英語上冊(cè)
- 電力電纜基礎(chǔ)知識(shí)課件
- 代理記賬申請(qǐng)表
評(píng)論
0/150
提交評(píng)論