MES開發(fā)與應(yīng)用 課件 4.1.3 功能模塊拆解和4.2 訂單管理系統(tǒng)項目開發(fā)和4.3.2 實現(xiàn)效果及功能驗證_第1頁
MES開發(fā)與應(yīng)用 課件 4.1.3 功能模塊拆解和4.2 訂單管理系統(tǒng)項目開發(fā)和4.3.2 實現(xiàn)效果及功能驗證_第2頁
MES開發(fā)與應(yīng)用 課件 4.1.3 功能模塊拆解和4.2 訂單管理系統(tǒng)項目開發(fā)和4.3.2 實現(xiàn)效果及功能驗證_第3頁
MES開發(fā)與應(yīng)用 課件 4.1.3 功能模塊拆解和4.2 訂單管理系統(tǒng)項目開發(fā)和4.3.2 實現(xiàn)效果及功能驗證_第4頁
MES開發(fā)與應(yīng)用 課件 4.1.3 功能模塊拆解和4.2 訂單管理系統(tǒng)項目開發(fā)和4.3.2 實現(xiàn)效果及功能驗證_第5頁
已閱讀5頁,還剩189頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

4.2訂單管理系統(tǒng)項目開發(fā)深圳市信息職業(yè)技術(shù)學(xué)院目

錄物料01工序02工藝路線03工單04知識回顧訂單管理功能需求說明及效果UML建模01物料需求說明及效果1.1目

錄物料表功能開發(fā)步驟1.2效果展示及功能驗證1.3課程目標(biāo)通過本節(jié)學(xué)習(xí)可以:能夠完成本節(jié)課程Demo的開發(fā)實現(xiàn);能夠根據(jù)需求對完成的功能進(jìn)行測試;能夠修復(fù)測試過程中的BUG;掌握使用框架的啟用/禁用命令;掌握如何重寫查詢命令;掌握字段校驗的多種實現(xiàn)方式;1.1需求說明及效果物料表功能開發(fā)需求說明需求說明功能邏輯列屬性:物料編碼、物料名稱、規(guī)格型號、基本計量單位、來源、來源類型、創(chuàng)建人、創(chuàng)建時間、修改人、修改時間操作命令:查詢、添加、修改、刪除、保存、啟用、禁用查詢條件:物料編碼、物料名稱(支持模糊匹配)、規(guī)格型號、基本類型、來源類型、狀態(tài)、來源編輯模式:行內(nèi)編輯物料編碼:非空非重復(fù),且修改時只讀物料名稱、規(guī)格型號非空基本類型、來源類型、狀態(tài)、來源:枚舉實現(xiàn)物料被工藝路線引用不允許刪除效果效果1.2物料表功能開發(fā)步驟啟用/禁用的實現(xiàn)1.1、點(diǎn)擊Item類,在Item類中使用代碼段(PFProperty)添加”狀態(tài)”枚舉字段。添加屬性啟用/禁用的實現(xiàn)1.2、點(diǎn)擊Item類,在Item類上實現(xiàn)IStateEntity接口。開啟啟用/禁用字段的校驗2.1、點(diǎn)擊后端的Item.cs類,在ItemConfig類中下面重寫AddValidations方法,具體如下:字段的校驗字段的校驗2.2、點(diǎn)擊后端的Items文件夾下,創(chuàng)建物料規(guī)則校驗類:ItemRule.cs,在這個類中我們實現(xiàn)物料被工藝路線引用無法刪除的校驗,具體如下:字段的校驗查詢功能的開發(fā)3.1、在后端的Items文件夾下創(chuàng)建一個查詢類:ItemCriteria.cs,繼承Criteria類,并通過代碼段(PFProperty)添加需求文檔中的的查詢字段,并重寫Fetch方法。模糊查詢的實現(xiàn)查詢功能的開發(fā)3.2、對3.1通過代碼段增加字段的細(xì)節(jié)補(bǔ)充:string類型和枚舉類型的字段參考下圖。模糊查詢的實現(xiàn)查詢功能的開發(fā)3.3、在后端的Items文件夾下創(chuàng)建一個Controller類:ItemController.cs,繼承DomainController類,創(chuàng)建一個分頁查詢的方法:GetItemListByQueryArg(),在3.1的Fetch方法中進(jìn)行調(diào)用,點(diǎn)擊跳轉(zhuǎn)至3.1模糊查詢的實現(xiàn)查詢功能的開發(fā)3.4、在后端的Item.cs類上面添加ConditionQueryType標(biāo)記,使之綁定我們之前創(chuàng)建的物料查詢實體類(ItemCriteria),注意:使用了ConditionQueryType標(biāo)記就不能使用CriteriaQuery標(biāo)記模糊查詢的實現(xiàn)查詢功能的開發(fā)3.5、在前端的Items文件夾下創(chuàng)建ItemCriteriaViewConfig.cs類,繼承WebViewConfig,在WebViewConfig中綁定我們之前創(chuàng)建的物料查詢實體類,并配置查詢視圖模糊查詢的實現(xiàn)物料狀態(tài)賦值-可用4.1、在前端的Items文件夾下創(chuàng)建Commands文件夾,在Commands文件夾下面創(chuàng)建添加命令的js類。命名規(guī)范:命令名稱+類名.js。然后鼠標(biāo)右鍵這個命令,點(diǎn)擊屬性->生成操作->嵌入的資源重寫添加命令物料狀態(tài)賦值-可用4.2、在前端的ItemViewConfig.cs類中的配置列表視圖中替換添加命令使用重寫的添加命令1.3效果展示及功能驗證效果預(yù)覽升級數(shù)據(jù)庫之后(因為剛剛我們加了一個可用/禁用字段),點(diǎn)擊物料,效果如下:效果預(yù)覽效果預(yù)覽校驗功能演示效果預(yù)覽效果預(yù)覽模糊查詢演示效果預(yù)覽02工序需求說明及效果2.1目

錄工序表功能開發(fā)步驟2.2效果展示及功能驗證2.3課程目標(biāo)通過本節(jié)學(xué)習(xí)可以:能夠完成本節(jié)課程Demo的開發(fā)實現(xiàn);能夠根據(jù)需求對完成的功能進(jìn)行測試;能夠修復(fù)測試過程中的BUG;掌握如何重寫查詢命令;掌握字段校驗的多種實現(xiàn)方式;2.1需求說明及效果物料表功能開發(fā)需求說明需求說明功能邏輯列屬性:工序、工序類型、創(chuàng)建人、創(chuàng)建時間、修改人、修改時間操作命令:查詢、添加、修改、刪除、保存查詢條件:工序(支持模糊匹配)、工序類型編輯模式:行內(nèi)編輯工序:非空非重復(fù)工序類型:枚舉實現(xiàn)工序被工藝路線引用不允許刪除效果效果2.2工序表功能開發(fā)步驟字段的校驗1.1、點(diǎn)擊后端的Process類,在ProcessConfig類中下面重寫AddValidations方法,具體如下:字段的校驗字段的校驗1.2、點(diǎn)擊后端的Processes文件夾下,創(chuàng)建工序規(guī)則校驗類:ProcessRule.cs,在這個類中我們來實現(xiàn)工序被工藝路線引用無法刪除的校驗,具體如下:字段的校驗查詢功能的開發(fā)2.1、在后端的Items文件夾下創(chuàng)建一個查詢類:ProcessCriteria.cs,繼承Criteria類,并通過代碼段(PFProperty)添加需求文檔中的的查詢字段,并重寫Fetch方法。模糊查詢的實現(xiàn)查詢功能的開發(fā)2.2、對2.1通過代碼段增加字段的細(xì)節(jié)補(bǔ)充:string類型的左圖,枚舉類型的右圖。模糊查詢的實現(xiàn)查詢功能的開發(fā)2.3、在后端的Processes文件夾下創(chuàng)建一個Controller類:ProcessController.cs,繼承DomainController類,創(chuàng)建一個分頁查詢的方法:GetProcessListByQueryArg(),在2.1的Fetch方法中進(jìn)行調(diào)用,點(diǎn)擊跳轉(zhuǎn)至2.1模糊查詢的實現(xiàn)查詢功能的開發(fā)2.4、在后端的Process.cs類上添加ConditionQueryType標(biāo)記,使之綁定我們之前創(chuàng)建的工序查詢實體類(ProcessCriteria),注意:使用了ConditionQueryType標(biāo)記就不能使用CriteriaQuery標(biāo)記模糊查詢的實現(xiàn)查詢功能的開發(fā)2.5、在前端的Processes文件夾下創(chuàng)建ProcessCriteriaViewConfig.cs類,繼承WebViewConfig,在WebViewConfig中綁定我們之前創(chuàng)建的工序查詢實體類,并配置查詢視圖模糊查詢的實現(xiàn)2.3效果展示及功能驗證效果預(yù)覽點(diǎn)擊功能地圖中剛剛配置的菜單,效果如下:效果預(yù)覽效果預(yù)覽校驗功能演示效果預(yù)覽效果預(yù)覽模糊查詢演示效果預(yù)覽03工藝路線需求說明及效果3.1目

錄工藝路線功能開發(fā)步驟3.2效果展示及功能驗證3.3課程目標(biāo)通過本節(jié)學(xué)習(xí)可以:能夠完成本節(jié)課程Demo的開發(fā)實現(xiàn);能夠根據(jù)需求對完成的功能進(jìn)行測試;能夠修復(fù)測試過程中的BUG;掌握如何重寫查詢命令;掌握如何重寫保存命令;掌握字段校驗的多種實現(xiàn)方式;3.1需求說明及效果工藝路線表功能開發(fā)需求說明需求說明功能邏輯列屬性:產(chǎn)品編碼、產(chǎn)品名稱、工單類型、順序、工序、創(chuàng)建人、創(chuàng)建時間、修改人、修改時間操作命令:查詢、添加、修改、刪除、保存、導(dǎo)出查詢條件:產(chǎn)品編碼、產(chǎn)品名稱(支持模糊匹配)、工序編輯模式:行內(nèi)編輯產(chǎn)品編碼、順序、工序:非空產(chǎn)品編碼、工單類型、順序聯(lián)合不能重復(fù)順序大于0、并且同一工單類型的產(chǎn)品編碼的順序必須連續(xù)定制化屬性校驗不通過的提示信息工單類型:枚舉實現(xiàn)效果效果3.2工藝路線功能開發(fā)步驟字段的校驗1.1、點(diǎn)擊后端的ProcessRoute.cs類,在ProcessRouteConfig類中下面重寫AddValidations方法,具體如下(下面這個文件是整個重寫的AddValidations方法),局部截圖見右圖:字段的校驗字段的校驗1.2、點(diǎn)擊前端的ProcessRoutes文件夾下,創(chuàng)建Commands文件夾用于存放命令文件,然后重寫保存命令,其中命令的js文件如下(記得嵌入到資源):重寫保存命令進(jìn)行校驗字段的校驗1.3、點(diǎn)擊前端的ProcessRoutes文件夾下剛剛創(chuàng)建的Commands文件夾,然后添加一個cs類,這個類的名字一定要和剛剛我們重寫的保存命令的js文件的名稱相同,cs類繼承SaveCommand:重寫保存命令進(jìn)行校驗字段的校驗1.4、保存命令后端代碼:SaveProcessRouteCommand.cs的源文件在下面提供(其中使用到的Controller中的方法也提供在下面了,見ProcessRouteController.txt):校驗的核心邏輯字段的校驗1.5、在前端ProcessRoutes文件夾下的ProcessRouteViewConfig.cs類中替換保存命令:校驗的核心邏輯思考題SaveProcessRouteCommand中為什么要定義isToNext?查看答案因為我們希望在這個命令中只拋出順序不連續(xù)的異常,我們在實體類里面做了其他字段的校驗,如果在這里拋出異常則會導(dǎo)致校驗的提示信息不全面。查詢功能的開發(fā)2.1、在后端的ProcessRoutes文件夾下創(chuàng)建一個查詢類:ProcessRouteCriteria.cs,繼承Criteria類,并通過代碼段(PFProperty)添加需求文檔中的的查詢字段,并重寫Fetch方法。模糊查詢的實現(xiàn)查詢功能的開發(fā)2.2、對2.1通過代碼段增加字段的細(xì)節(jié)補(bǔ)充:string類型的左圖,外鍵引用類型的右圖。模糊查詢的實現(xiàn)查詢功能的開發(fā)2.3、在后端的ProcessRoutes文件夾下創(chuàng)建一個Controller類:ProcessRouteController.cs,繼承DomainController類,創(chuàng)建一個分頁查詢的方法:GetProcessRouteListByQueryArg(),在2.1的Fetch方法中進(jìn)行調(diào)用,點(diǎn)擊跳轉(zhuǎn)至2.1模糊查詢的實現(xiàn)查詢功能的開發(fā)2.4、在后端的ProcessRoute.cs類上面添加ConditionQueryType標(biāo)記,使之綁定我們之前創(chuàng)建的物料查詢實體類(ProcessRouteCriteria),注意:使用了ConditionQueryType標(biāo)記就不能使用CriteriaQuery標(biāo)記模糊查詢的實現(xiàn)查詢功能的開發(fā)2.5、在前端的ProcessRoutes文件夾下創(chuàng)建ProcessRouteCriteriaViewConfig.cs類,繼承WebViewConfig,在WebViewConfig中綁定我們之前創(chuàng)建的物料查詢實體類,并配置查詢視圖模糊查詢的實現(xiàn)3.3效果展示及功能驗證效果預(yù)覽點(diǎn)擊功能地圖中剛剛配置的菜單,效果如下:效果預(yù)覽效果預(yù)覽校驗功能演示效果預(yù)覽效果預(yù)覽模糊查詢演示效果預(yù)覽04工單課程目標(biāo)通過本節(jié)學(xué)習(xí)可以:能夠完成本節(jié)課程Demo的開發(fā)實現(xiàn);能夠根據(jù)需求對完成的功能進(jìn)行測試;掌握如何重寫查詢命令;掌握附加的實現(xiàn)掌握視圖分組的使用掌握重寫命令和前端請求的發(fā)送掌握控制事務(wù)的方式掌握字段校驗的多種實現(xiàn)方式;4.1需求說明及效果工單表功能開發(fā)需求說明需求說明功能邏輯列屬性:工單號、產(chǎn)品編碼、產(chǎn)品名稱、工單狀態(tài)、計劃數(shù)量、完工數(shù)量、不合格數(shù)量、工單類型、車間、資源、計劃開始時間、計劃完成時間、實際開始時間、實際完成時間、工單來源、是否生成任務(wù)單、制單人、創(chuàng)建時間、修改人、修改時間、修改人操作命令:查詢、工單生成(添加、修改、復(fù)制新增、數(shù)據(jù)導(dǎo)入)、刪除、查看工單、狀態(tài)(恢復(fù)、暫停、強(qiáng)制關(guān)閉)、生成任務(wù)單、下達(dá)、導(dǎo)出查詢條件:工單號、產(chǎn)品編碼、產(chǎn)品名稱、車間、資源、計劃開始時間、計劃完成時間、工單狀態(tài)、工單來源編輯模式:表單編輯校驗規(guī)則見需求說明效果效果4.2工單表功能開發(fā)步驟字段的校驗1、點(diǎn)擊后端的IWorkOrder.cs類,在WorkOrderConfig類中下面重寫AddValidations方法,具體如下:字段的校驗查詢功能的開發(fā)2.1、在后端的WorkOrders文件夾下創(chuàng)建一個查詢類:WorkOrderCriteria.cs,繼承Criteria類,并通過代碼段(PFProperty)添加需求文檔中的的查詢字段,并重寫Fetch方法。模糊查詢的實現(xiàn)查詢功能的開發(fā)2.2、對2.1通過代碼段增加字段的細(xì)節(jié)補(bǔ)充(請右鍵預(yù)覽查看):string類型的左上圖,枚舉類型的右上圖,引用類型(代碼段:PFPropertyReference)的左下圖,DateRange類型的右下圖。模糊查詢的實現(xiàn)查詢功能的開發(fā)2.3、在后端的WorkOrders文件夾下創(chuàng)建一個Controller類:WorkOrderController.cs,繼承DomainController類,創(chuàng)建一個分頁查詢的方法:GetWorkOrderListByQueryArg(),在2.1的Fetch方法中進(jìn)行調(diào)用,點(diǎn)擊跳轉(zhuǎn)至2.1模糊查詢的實現(xiàn)查詢功能的開發(fā)2.4、在后端的WorkOrder.cs類上面添加ConditionQueryType標(biāo)記,使之綁定我們之前創(chuàng)建的物料查詢實體類(WorkOrderCriteria),注意:使用了ConditionQueryType標(biāo)記就不能使用CriteriaQuery標(biāo)記模糊查詢的實現(xiàn)查詢功能的開發(fā)2.5、在前端的WorkOrders文件夾下創(chuàng)建WorkOrderCriteriaViewConfig.cs類,繼承WebViewConfig,在WebViewConfig中綁定我們之前創(chuàng)建的工單查詢實體類,并配置查詢視圖模糊查詢的實現(xiàn)配置項自動生成工單號的實現(xiàn)3.1、在前端的WorkOrders文件夾下創(chuàng)建Commands文件夾,在Commands文件夾下面創(chuàng)建添加命令的js類。命名規(guī)范:命令名稱+類名.js。然后鼠標(biāo)右鍵這個命令,點(diǎn)擊屬性->生成操作->嵌入的資源重寫添加命令js配置項自動生成工單號的實現(xiàn)3.2、在前端的WorkOrders文件夾下的Commands文件夾下面創(chuàng)建添加命令的cs類。要和剛剛重寫的添加命令名字相同,繼承ViewCommand重寫添加命令后臺請求配置項自動生成工單號的實現(xiàn)3.3、在后端的WorkOrders文件夾下創(chuàng)建WorkOrderController.cs類,繼承DomainController,實現(xiàn)獲取系統(tǒng)配置項生成的工單號的邏輯實現(xiàn)生成工單號的邏輯配置項自動生成工單號的實現(xiàn)3.4、在前端的WorkOrderViewConfig.cs類中的配置列表視圖中替換添加命令,注意這里使用typeof指定我們剛剛開發(fā)的添加命令的cs類(順便提醒一下js別忘記了嵌入資源)。記得開啟表單編輯模式(View.FormEdit()),然后順便配置一下明細(xì)視圖,因為表單編輯是走明細(xì)視圖的使用重寫的添加命令配置項自動生成工單號的實現(xiàn)3.5、在后端的的WorkOrder.cs類中使用框架自帶的配置項生成規(guī)則(注意,等項目跑起來了可以在工單頁面的配置項中配置工單的生成規(guī)則,只要配置好了之后,就可以注釋掉這個標(biāo)記,防止配置項命令出現(xiàn)在工單中)使用系統(tǒng)的配置項標(biāo)記配置項自動生成工單號的實現(xiàn)3.6、在前端的的WorkOrders文件夾中創(chuàng)建Behaviors文件夾,并且創(chuàng)建AddWorkOrderBehavior.js行為,重寫:onCreated()方法,并且在WorkOrderViewConfig的配置明細(xì)視圖中使用該行為。添加工單的行為4.3工單配置項的配置配置項配置生成規(guī)則1.點(diǎn)擊功能地圖中剛剛配置的工單菜單,可以看到配置項按鈕,然后點(diǎn)擊配置項按鈕:配置項配置項配置生成規(guī)則2.補(bǔ)充一下上一張ppt的工單編碼規(guī)則的配置,需求是固定字母:MO+6位遞增的規(guī)則配置項配置項配置生成規(guī)則3.做完上一步,測試一下添加工單是否能自動獲取到生成的工單號,如果能的話記得注銷之前添加的標(biāo)記配置項4.4工藝路線附加到工單附加的實現(xiàn)步驟1、在工單后端文件夾下創(chuàng)建擴(kuò)展文件夾,并在此創(chuàng)建工單擴(kuò)展類,通過代碼段添加附加列表屬性(PFPropertyExtensionList)附加實現(xiàn)附加的實現(xiàn)步驟2、在工單的視圖配置類WorkOrderViewConfig中的配置列表視圖和配置明細(xì)視圖中使用AssociateChildrenProperty屬性進(jìn)行附加子表,其中列表視圖要指定視圖為OrderRouteViewConfig類下定義的OrderRouteViewGroup視圖常量(見下一張ppt),明細(xì)視圖不要指定,Controller如最下面的圖附加實現(xiàn)附加的實現(xiàn)步驟3、在OrderRouteViewConfig類中定義上一張ppt中使用的OrderRouteViewGroup視圖常量,并且配置該視圖。配置自定義視圖配置附加表的列表視圖4、點(diǎn)擊OrderRouteViewConfig類,配置列表視圖(左圖),其中數(shù)據(jù)源Controller(右圖):配置列表視圖附加子表-工單工藝路線參數(shù)校驗5、點(diǎn)擊OrderRoute類,重寫AddValidations方法進(jìn)行參數(shù)校驗(參數(shù)校驗源碼右邊給出)屬性校驗啟動項目6、啟動項目,然后可以看到工單頁面(左圖)和添加工單頁面(右圖)的附加子表出來了查看效果4.5工單屬性變更事件注冊屬性變更事件1、在之前開發(fā)過的添加工單的行為中(AddWorkOrderBehavior.js),重寫onViewReady()方法,注冊屬性變更事件,并定義實現(xiàn)該事件。注冊屬性變更事件屬性變更事件的實現(xiàn)2、當(dāng)工單中的工單類型或者是產(chǎn)品編碼發(fā)生改變時觸發(fā)getOrderRouteListByArgs方法,該方法目的是拉取該類型的工單和產(chǎn)品編碼下的工藝路線,獲取到的是之前開發(fā)的工藝路線表的數(shù)據(jù),而不是附加的。實現(xiàn)屬性變更事件這里調(diào)用了myAjax()方法,下面提供該方法源碼,同時也提供這個行為的源碼屬性變更事件的實現(xiàn)3、屬性變更事件后端邏輯的實現(xiàn):首先在前端項目根目錄創(chuàng)建一個DataQuerys文件夾,然后創(chuàng)建一個WorkOrderDataQuery.cs類,該類繼承DataQueryer,在該類中創(chuàng)建GetOrderRouteListByArgs方法。實現(xiàn)屬性變更事件屬性變更事件的實現(xiàn)4、GetOrderRouteListByArgs方法的邏輯解釋(注釋每一步都寫了,不多加贅述)實現(xiàn)屬性變更事件屬性變更事件的實現(xiàn)5、GetOrderRouteListByArgs調(diào)用的Controller的實現(xiàn)(沒有這個Controller的自己創(chuàng)建一個,放在后端的WorkOrders文件夾下,記得Controller要繼承DomainController)。實現(xiàn)屬性變更事件啟動項目效果演示6、啟動項目,點(diǎn)擊工單生成->添加工單,然后選擇變更一下產(chǎn)品編碼或者是工單類型,如果該工單類型下的該產(chǎn)品有工藝路線的話,可以看到附加的工藝路線子表數(shù)據(jù)會被帶出來。如果沒有效果的話你去添加一下工藝路線。效果演示4.6重寫工單保存命令重寫工單保存命令1、為什么重寫工單的保存命令:為了實現(xiàn)保存后自動關(guān)閉工單頁面、并且校驗附加的子表-工藝路線是否滿足順序條件、是否滿足需求文檔上的各種條件。下圖是js文件的開發(fā),記得嵌入資源!重寫表單保存重寫工單保存命令2、重寫表單保存命令的cs文件的開發(fā):繼承FormSaveCommand,并且類名要和上一步的js文件一致,重寫DoSave方法,目的是為了在進(jìn)行保存的時候給一些字段賦初始值,重寫Excute方法為了校驗子表數(shù)據(jù)是否滿足需求文檔,具體代碼如下(關(guān)于代碼的超解釋請見另一個ppt):重寫表單保存重寫工單保存命令3、這里簡單描述一下校驗JSON是否符合要求的方法:這個方法就是用來處理點(diǎn)擊保存按鈕之后,前端給后端發(fā)送的JSON,這個JSON的解釋如左圖。我們會在這個方法里面對JSON和數(shù)據(jù)庫數(shù)據(jù)進(jìn)行合并歸類,然后再去判斷是否滿足順序條件。當(dāng)然如果是其他參數(shù)校驗不通過,則直接放行,因為這樣會走到我們之前在OrderRoute實體類里面配置的校驗里面,使之能給出更人性化的錯誤提示。這里我們刪除第一筆數(shù)據(jù),將第二筆數(shù)據(jù)的順序改成1,再添加一筆WL001、量產(chǎn)、順序為2的數(shù)據(jù)。點(diǎn)擊保存查看F12里面的請求的JSON。重寫表單保存重寫工單保存命令4、去格式化一下發(fā)給后臺的JSON,這個JSON很長,直接貼出txt文檔:解釋一下這個JSON,”uc”對象是只有修改工單的時候才是uc對象,你可以看到“uc”對象下面有“OrderRouteList”對象,這個對象就是附加的工藝路線子表對象。在“OrderRouteList”對象下面有:“c”、“u”、“d”。其實這三個分別是創(chuàng)建(create)、更新(update)、刪除(delete)的縮寫。所以上述對象分別代表創(chuàng)建了什么數(shù)據(jù)、更新了什么數(shù)據(jù)、刪除了什么數(shù)據(jù)。刪除的話只需要提供id就行了。當(dāng)然,這是修改工單的時候是在”uc”對象里面有“OrderRouteList”對象。而在添加工單的時候,就不是“uc”對象了,而是“c”對象,所以到時候要進(jìn)行if判斷。備注:還有一種情況是”u”對象,這是修改了父表就會用”u”對象。重寫表單保存測試規(guī)則是否生效5、啟動項目,去添加工單試試附加的子表-工藝路線是否能實現(xiàn)需求文檔中所說的一系列校驗(自行測試)。測試效果思考題校驗工單附加子表-工藝路線的字段有沒有更簡單的實現(xiàn)方式?查看答案可以嘗試在SaveWorkOrderCommand.js里面把視圖內(nèi)的所有數(shù)據(jù)送到后端,然后直接校驗前端的數(shù)據(jù),如果前端數(shù)據(jù)校驗通過,則把數(shù)據(jù)庫原有數(shù)據(jù)刪除,再將上述通過校驗的數(shù)據(jù)保存。當(dāng)然這種方式也可以做數(shù)據(jù)庫數(shù)據(jù)合并4.7重寫工單修改命令需求分析1、需求文檔上要求只能修改:發(fā)放暫停、生產(chǎn)中暫停狀態(tài)下的工單,并且兩種狀態(tài)的工單能修改的東西是不一樣的。修改發(fā)放暫停的工單(左圖)、修改生產(chǎn)中暫停的工單(右圖)需求分析具體實現(xiàn)2、重寫修改命令的canExecute方法,該方法判斷中判斷工單狀態(tài),如果是發(fā)放暫?;蛘呤巧a(chǎn)中暫停,返回true讓按鈕亮起,否則則返會false讓按鈕置灰。重寫修改命令具體實現(xiàn)3、在WorkOrderViewConfig的配置明細(xì)視圖中,根據(jù)工單狀態(tài)設(shè)置字段的Readonly屬性重寫修改命令具體實現(xiàn)4、在AddWorkOrderBehavior行為中去除修改生產(chǎn)中暫停的工單的附加子表-工藝路線的操作命令重寫修改命令代碼如下:具體實現(xiàn)5、在WorkOrderViewConfig的配置列表視圖中使用我們剛剛重寫的修改命令。重寫修改命令效果展示6、走到這一步則啟動項目,打開工單頁,去看看是否實現(xiàn)了第1張ppt的效果,再去測試一下是不是只有在發(fā)放暫停、生產(chǎn)中暫停的時候,修改按鈕才亮起。效果展示4.8復(fù)制新增工單實現(xiàn)需求分析1、選中一筆工單數(shù)據(jù),復(fù)制新增按鈕亮起,點(diǎn)擊復(fù)制新增打開一個Tap頁,自動帶出我們選擇的這個工單的信息(包括附加的子表-工藝路線),并且能工單號要重新生成,點(diǎn)擊保存之后,工單狀態(tài)要設(shè)置為發(fā)放、包括計劃數(shù)量、完工數(shù)量等這些字段也設(shè)為默認(rèn)值,不能復(fù)制之前的工單的。需求分析具體實現(xiàn)2、具體代碼見右側(cè),這里說一下工單號如何重新生成:工單號可以發(fā)送一個請求去請求后端,注意這里的請求要發(fā)同步的,如果發(fā)異步的請求則會導(dǎo)致設(shè)置不上去。具體實現(xiàn)具體實現(xiàn)3、關(guān)于第2張ppt的異步請求,走的是之前開發(fā)的WorkOrderDataQuery.cs類,在該類中創(chuàng)建一個GetOrderNumber方法(左圖)。該方法調(diào)用之前我們開發(fā)過的獲取系統(tǒng)生成工單號的方法(右圖)具體實現(xiàn)具體實現(xiàn)4、繞過一個很奇怪的bug,這個bug后面我會和大家說。在AddWorkOrderBehavior里面重寫onDataLoaded方法,該方法會在view數(shù)據(jù)加載后執(zhí)行,在該方法內(nèi)判斷view.getCurrent()[0]的工單狀態(tài)是否和view.getCurrent().data的工單狀態(tài)相同,不相同則把工單狀態(tài)設(shè)置為4(發(fā)放暫停)具體實現(xiàn)具體實現(xiàn)5、在WorkOrderViewConfig中的配置列表視圖中使用我們剛剛開發(fā)的復(fù)制新增命令,注意那個命令要嵌入資源哦。弄完了就可以去驗證一下效果了。具體實現(xiàn)4.9數(shù)據(jù)導(dǎo)入的實現(xiàn)需求分析1、在工單生成下面要有一個數(shù)據(jù)導(dǎo)入的命令,可以通過該命令導(dǎo)入工單,并且要求導(dǎo)入的工單需要順便把該工單類型下的產(chǎn)品編碼的默認(rèn)工藝路線給導(dǎo)入進(jìn)去。并且要加一系列的驗證。需求分析具體實現(xiàn)2、在工單的Commands文件夾下創(chuàng)建一個導(dǎo)入命令的js類(左圖)并嵌入資源,再創(chuàng)建一個cs類(右圖),兩個類的名字一定要相同。具體實現(xiàn)具體實現(xiàn)3、在后端的WorkOrders文件夾下創(chuàng)建WorkOrderImportHandle.cs類,實現(xiàn)IDisposable,IBusinessImport接口,并且加上[Services.Service(FallbackType=typeof(WorkOrderImportHandle),ServiceLifeStyle=Services.ServiceLifeStyle.Transient)]標(biāo)記。直接給出代碼,代碼內(nèi)有注釋。在另一個ppt我會詳細(xì)介紹邏輯。具體實現(xiàn)具體實現(xiàn)4、在WorkOrderViewConfig中重寫ConfigImportView方法,配置導(dǎo)入模板的表頭。具體實現(xiàn)具體實現(xiàn)5、在WorkOrderViewConfig的配置列表視圖中使用我們重寫的導(dǎo)入命令,然后啟動項目驗證導(dǎo)入功能是否實現(xiàn)。具體實現(xiàn)4.10查看工單的實現(xiàn)需求分析1、點(diǎn)擊任一個工單,查看工單按鈕亮起,點(diǎn)擊查看工單,能看到下圖效果,所有的字段都是只讀的。工單狀態(tài)日志后面再開發(fā),這里先不管。需求分析具體實現(xiàn)2、在工單的Commands文件夾下面創(chuàng)建一個WatchWorkOrderCommand命令,繼承修改命令,重寫showView,在showView方法內(nèi)配置視圖組。具體實現(xiàn)具體實現(xiàn)3、在WorkOrderViewConfig中定義查看工單的視圖組,授權(quán)、使用查看工單的視圖組。具體實現(xiàn)具體實現(xiàn)4、在WorkOrderViewConfig中配置第3張ppt中定義的視圖組,代碼提供在右側(cè)。具體實現(xiàn)具體實現(xiàn)5、在WorkOrderViewConfig的配置列表視圖中使用我們剛剛開發(fā)的查看工單命令。然后啟動項目驗證效果。具體實現(xiàn)4.11附加工單狀態(tài)日志添加擴(kuò)展列表屬性1、點(diǎn)擊后端WorkOrders文件夾下的Extention文件下的WorkOrderExtention.cs類,代碼段(PFPropertyExtensionList)添加工單日志的擴(kuò)展列表屬性。添加擴(kuò)展列表屬性附加到查看工單視圖2、點(diǎn)擊工單視圖配置類WorkOrderViewConfig,在WatchWorkOrderView方法內(nèi)將工單操作日志附加上去(上圖),附加內(nèi)調(diào)用的Controller方法在下圖。附加到父表效果驗證3、啟動項目,然后點(diǎn)擊工單,隨便查看一個工單,可以看到下面附加的工單狀態(tài)日志過來了。效果驗證4.12暫停工單的實現(xiàn)需求分析1.點(diǎn)擊處于發(fā)放或生產(chǎn)中的工單,暫停工單按鈕亮起,點(diǎn)擊暫停按鈕彈出彈窗(上圖),輸入原因點(diǎn)擊確定之后將工單狀態(tài)改變(發(fā)放->發(fā)放暫停;生產(chǎn)中->生產(chǎn)中暫停)并且將本次操作記入到工單狀態(tài)日志表。需求分析具體實現(xiàn)2.在WorkOrder實體類中用代碼段(PFProperty)添加下面兩個字段,并且配置不映射數(shù)據(jù)庫。具體實現(xiàn)具體實現(xiàn)3.創(chuàng)建命令PauseWorkOrderCommand.js,繼承修改命令,重寫canExecute用于判斷什么狀態(tài)的工單可以暫停,重寫setDialogAttribute方法設(shè)置彈窗大小,重寫showView方法彈出彈框,處理后續(xù)邏輯。具體代碼已經(jīng)貼出。具體實現(xiàn)具體實現(xiàn)4.實現(xiàn)saveWorkOrderJournal_1方法:在WorkOrderDataQuery.cs中創(chuàng)建SaveWorkOrderJournal方法(上圖),在該方法中調(diào)用Controller中的方法處理核心邏輯(見WorkOrderController源碼)。具體實現(xiàn)具體實現(xiàn)5.在WorkOrderViewConfig的配置列表視圖中使用上述開發(fā)的命令,記得嵌入資源哦。具體實現(xiàn)具體實現(xiàn)6.在WorkOrderViewConfig中定義并配置暫停彈窗的那個視圖組,然后啟動項目測試一下是否實現(xiàn)具體實現(xiàn)4.13恢復(fù)工單的實現(xiàn)需求分析1.點(diǎn)擊處于發(fā)放暫?;蛏a(chǎn)中暫停的工單,恢復(fù)工單按鈕亮起,點(diǎn)擊恢復(fù)工單彈出彈窗(上圖),輸入原因點(diǎn)擊確定之后將工單狀態(tài)改變(發(fā)放暫停->發(fā)放;生產(chǎn)中暫停->生產(chǎn)中)并且將本次操作記入到工單狀態(tài)日志表。需求分析具體實現(xiàn)2.創(chuàng)建命令WorkOrderLaunchCommand.js,繼承修改命令,重寫canExecute用于判斷什么狀態(tài)的工單可以恢復(fù),重寫setDialogAttribute方法設(shè)置彈窗大小,重寫showView方法彈出彈框,處理后續(xù)邏輯。具體代碼已經(jīng)貼出。具體實現(xiàn)具體實現(xiàn)3.實現(xiàn)saveWorkOrderJournal_2方法:在上面的暫停工單中已經(jīng)開發(fā)了,所以只需要調(diào)用即可,參數(shù)也與暫停一致(右圖)。具體實現(xiàn)具體實現(xiàn)4.在WorkOrderViewConfig的配置列表視圖中使用上述開發(fā)的命令,記得嵌入資源哦。然后去測試吧。具體實現(xiàn)4.14關(guān)閉工單的實現(xiàn)需求分析1.點(diǎn)擊處于發(fā)放暫?;蛏a(chǎn)中暫停或完工的工單,強(qiáng)制關(guān)閉按鈕亮起,點(diǎn)擊強(qiáng)制關(guān)閉彈出彈窗(上圖),輸入原因點(diǎn)擊確定之后將工單狀態(tài)改變(發(fā)放暫停->關(guān)閉;生產(chǎn)中暫停->關(guān)閉)并且將本次操作記入到工單狀態(tài)日志表。需求分析具體實現(xiàn)2.創(chuàng)建命令ShutWorkOrderCommand.js,繼承修改命令,重寫canExecute用于判斷什么狀態(tài)的工單可以恢復(fù),重寫setDialogAttribute方法設(shè)置彈窗大小,重寫showView方法彈出彈框,處理后續(xù)邏輯。具體代碼已經(jīng)貼出。具體實現(xiàn)具體實現(xiàn)3.實現(xiàn)saveWorkOrderJournal方法:在上面的暫停工單中已經(jīng)開發(fā)了,所以只需要調(diào)用即可,參數(shù)也與暫停一致(右圖)。具體實現(xiàn)具體實現(xiàn)4.在WorkOrderViewConfig的配置列表視圖中使用上述開發(fā)的命令,記得嵌入資源哦。然后去測試吧。具體實現(xiàn)4.15附加任務(wù)單列表給工單添加擴(kuò)展列表屬性1、打開后端的WorkOrders文件夾下的Extention文件夾的WorkOrderExtention.cs類,添加任務(wù)單列表擴(kuò)展列表屬性(代碼段:PFPropertyExtensionList),并且配置不映射數(shù)據(jù)庫。添加擴(kuò)展列表屬性附加到工單列表視圖2、打開WorkOrderViewConfig,在工單的配置列表視圖中附加剛剛我們開發(fā)的子表(上),調(diào)用的Controller中的方法(下圖),注意,列表視圖請把工藝路線放前面,不然復(fù)制新增命令復(fù)制不到工藝路線。附加子表到視圖效果驗證3、啟動項目,然后點(diǎn)擊工單,查看工單頁面是否把任務(wù)單列表附加上來了。效果驗證4.16附加報工記錄給工單添加擴(kuò)展列表屬性1、打開后端的WorkOrders文件夾下的Extention文件夾的WorkOrderExtention.cs類,添加任務(wù)單列表擴(kuò)展列表屬性(代碼段:PFPropertyExtensionList)。添加擴(kuò)展列表屬性附加到工單列表視圖2、打開WorkOrderViewConfig,在工單的配置列表視圖中附加剛剛我們開發(fā)的子表(上表),調(diào)用的Controller中的方法(下圖),注意,列表視圖請把工藝路線放前面,不然復(fù)制新增命令復(fù)制不到工藝路線。附加子表到視圖效果驗證3、啟動項目,然后點(diǎn)擊工單,查看工單頁面是否把報工記錄附加上來了。效果驗證4.17生成任務(wù)單的實現(xiàn)需求分析1、點(diǎn)擊沒有生成過任務(wù)單的工單,生成任務(wù)單按鈕亮起,點(diǎn)擊生成任務(wù)單按鈕彈出對話框詢問是否確認(rèn),點(diǎn)擊確認(rèn)則按該工單的工藝路線來生成任務(wù)單,任務(wù)數(shù)量與工單計劃數(shù)量一致。需求分析具體實現(xiàn)2、在工單的Commands文件夾下創(chuàng)建GenerateTaskCommand.js文件,并嵌入資源。繼承編輯命令,重寫canExecute判斷工單是否生成過任務(wù)單,重寫showView方法處理確認(rèn)之后的回調(diào)邏輯。源碼已提供。具體實現(xiàn)具體實現(xiàn)3、前端的DataQuerys文件夾下的WorkOrderDataQuery.cs中創(chuàng)建GenerateTaskList方法處理生成任務(wù)單的邏輯,它調(diào)用的Controller如右圖,之前已經(jīng)提供了該Controller源碼。具體實現(xiàn)具體實現(xiàn)4、在WorkOrderViewConfig中的配置列表視圖中使用剛剛開發(fā)的生成任務(wù)單命令,然后啟動項目測試效果。具體實現(xiàn)4.18下達(dá)功能的實現(xiàn)需求分析1、點(diǎn)擊沒有生成過任務(wù)單的工單,下達(dá)按鈕亮起,點(diǎn)擊下達(dá)按鈕彈出對話框詢問:請確認(rèn)是否下發(fā)并派工SMDC員工,點(diǎn)擊確認(rèn)則按該工單的工藝路線來生成任務(wù)單,任務(wù)數(shù)量與工單計劃數(shù)量一致,并且進(jìn)行派工(工號為SMDC的員工)。需求分析具體實現(xiàn)2、在工單的Commands文件夾下創(chuàng)建ReleaseTaskCommand.js文件,并嵌入資源。繼承編輯命令,重寫canExecute判斷工單是否生成過任務(wù)單,重寫showView方法處理確認(rèn)之后的回調(diào)邏輯。源碼已提供。具體實現(xiàn)具體實現(xiàn)3、前端的DataQuerys文件夾下的WorkOrderDataQuery.cs中創(chuàng)建GenTaskAndExpatriateMDC方法處理下達(dá)的邏輯,它調(diào)用的Controller如右圖,之前已經(jīng)提供了該Controller源碼(點(diǎn)擊跳轉(zhuǎn))。具體實現(xiàn)具體實現(xiàn)4、在WorkOrderViewConfig中的配置列表視圖中使用剛剛開發(fā)的下達(dá)命令,然后啟動項目測試效果。具體實現(xiàn)4.19派工功能的實現(xiàn)需求分析1、點(diǎn)擊狀態(tài)為待派工的任務(wù)單,派工按鈕亮起。點(diǎn)擊派工,彈出彈窗下拉選擇員工,然后點(diǎn)擊確定則成功派工,派工之后要改變?nèi)蝿?wù)單狀態(tài)、記錄任務(wù)執(zhí)行對象。需求分析具體實現(xiàn)2、在工單的Commands文件夾下創(chuàng)建ExpatriateTaskListCommand.js文件,并嵌入資源。繼承編輯命令,重寫canExecute判斷工單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論