一種基于豬場(chǎng)管理的表單錄入方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計(jì)算機(jī)表單錄入的領(lǐng)域,具體地涉及一種基于豬場(chǎng)管理的表單錄入方 法,以及基于豬場(chǎng)管理的表單錄入系統(tǒng)。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)信息技術(shù)、互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,它們的應(yīng)用也慢慢滲透到人們生 產(chǎn)和生活的各個(gè)領(lǐng)域中。作為畜牧業(yè)生產(chǎn)的一個(gè)重要組成部分的養(yǎng)豬業(yè)當(dāng)然也不例外地引 入了現(xiàn)代科技?,F(xiàn)代豬場(chǎng)生產(chǎn)管理已經(jīng)從傳統(tǒng)的依靠人工輸入豬場(chǎng)數(shù)據(jù)轉(zhuǎn)變?yōu)橥ㄟ^(guò)excel 表格批量錄入。
[0003] 但是,傳統(tǒng)的excel表格在錄入方面雖然有格式控制,不過(guò)對(duì)于豬場(chǎng)的邏輯控制是 非常弱的,不能判定要錄入表單的這個(gè)豬能否做這個(gè)記錄事件;并且單條錄入使得效率極 低,而現(xiàn)有的一些系統(tǒng)在批量錄入的時(shí)候操作完全不能做到便捷,且在邏輯控制等方面也 比較弱。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的技術(shù)解決問(wèn)題是:克服現(xiàn)有技術(shù)的不足,提供一種基于豬場(chǎng)管理的表單 錄入方法,其既能夠單條錄入,又能夠便捷地批量錄入豬場(chǎng)的生產(chǎn)數(shù)據(jù),并且能夠保證所錄 入的內(nèi)容邏輯正確。
[0005] 本發(fā)明的技術(shù)解決方案是:這種基于豬場(chǎng)管理的表單錄入方法,包括以下步驟:
[0006] (1)開(kāi)始;
[0007] (2)讀取用戶(hù)選擇的業(yè)務(wù)操作;
[0008] (3)根據(jù)步驟(2)的業(yè)務(wù)操作,加載相應(yīng)的數(shù)據(jù);
[0009] (4)判斷當(dāng)前狀態(tài)是否符合步驟(2)的業(yè)務(wù)操作,是則執(zhí)行步驟(5),否則執(zhí)行步驟 (2);
[0010] (5)展示步驟(3)的數(shù)據(jù),并根據(jù)豬場(chǎng)實(shí)際情況編輯、修改該數(shù)據(jù)而得到新數(shù)據(jù);
[0011] (6)提交保存新數(shù)據(jù);
[0012] (7)判斷該新數(shù)據(jù)是否通過(guò)驗(yàn)證,是則執(zhí)行步驟(8),否則執(zhí)行步驟(5);
[0013] (8)保存該新數(shù)據(jù);
[0014] (9)判斷保存是否成功,是則執(zhí)行步驟(10),否則執(zhí)行步驟(5);
[0015] (10)結(jié)束。
[0016] 還提供了一種基于豬場(chǎng)管理的表單錄入系統(tǒng),其特征在于:其包括:
[0017] 讀取業(yè)務(wù)操作模塊,其配置來(lái)讀取用戶(hù)選擇的業(yè)務(wù)操作;
[0018] 數(shù)據(jù)加載模塊,其配置來(lái)根據(jù)讀取的業(yè)務(wù)操作,加載相應(yīng)的數(shù)據(jù);
[0019] 數(shù)據(jù)展示編輯修改模塊,其配置來(lái)展示加載的數(shù)據(jù),并根據(jù)豬場(chǎng)實(shí)際情
[0020] 況編輯、修改該數(shù)據(jù)而得到新數(shù)據(jù);
[0021 ]數(shù)據(jù)驗(yàn)證模塊,其配置來(lái)驗(yàn)證新數(shù)據(jù)是否正確;
[0022] 數(shù)據(jù)保存模塊,其配置來(lái)保存新數(shù)據(jù)。
[0023] 本發(fā)明通過(guò)讀取業(yè)務(wù)操作模塊來(lái)讀取用戶(hù)選擇的業(yè)務(wù)操作,通過(guò)數(shù)據(jù)加載模塊來(lái) 根據(jù)讀取的業(yè)務(wù)操作,加載相應(yīng)的數(shù)據(jù),通過(guò)數(shù)據(jù)展示編輯修改模塊來(lái)展示加載的數(shù)據(jù),并 根據(jù)豬場(chǎng)實(shí)際情況編輯、修改該數(shù)據(jù)而得到新數(shù)據(jù),通過(guò)數(shù)據(jù)驗(yàn)證模塊來(lái)驗(yàn)證新數(shù)據(jù)是否 正確,通過(guò)數(shù)據(jù)保存模塊來(lái)保存新數(shù)據(jù),從而既能夠單條錄入,又能夠便捷地批量錄入豬場(chǎng) 的生產(chǎn)數(shù)據(jù),并且能夠保證所錄入的內(nèi)容邏輯正確。
【附圖說(shuō)明】
[0024]圖1為根據(jù)本發(fā)明的基于豬場(chǎng)管理的表單錄入方法的流程圖。
[0025] 圖2為根據(jù)本發(fā)明的豬場(chǎng)信息化生產(chǎn)控制方法的結(jié)構(gòu)示意圖。
[0026] 圖3示出了根據(jù)本發(fā)明的步驟(3.1)的軟件代碼。
[0027]圖4示出了根據(jù)本發(fā)明的步驟(3.2)的軟件代碼。
[0028]圖5示出了根據(jù)本發(fā)明的具有表頭和表體配置格式。
[0029]圖6示出了根據(jù)本發(fā)明的系統(tǒng)名值對(duì)關(guān)鍵字配置。
[0030]圖7不出了根據(jù)本發(fā)明的ToolBar配置格式。
[0031]圖8示出了根據(jù)本發(fā)明的QDI節(jié)點(diǎn)樣式。
【具體實(shí)施方式】
[0032]如圖1所示,這種基于豬場(chǎng)管理的表單錄入方法,包括以下步驟:
[0033] (1)開(kāi)始;
[0034] (2)讀取用戶(hù)選擇的業(yè)務(wù)操作;
[0035] (3)根據(jù)步驟(2)的業(yè)務(wù)操作,加載相應(yīng)的數(shù)據(jù);
[0036] (4)判斷當(dāng)前狀態(tài)是否符合步驟(2)的業(yè)務(wù)操作,是則執(zhí)行步驟(5),否則執(zhí)行步驟 (2);
[0037] (5)展示步驟(3)的數(shù)據(jù),并根據(jù)豬場(chǎng)實(shí)際情況編輯、修改該數(shù)據(jù)而得到新數(shù)據(jù);
[0038] (6)提交保存新數(shù)據(jù);
[0039] (7)判斷該新數(shù)據(jù)是否通過(guò)驗(yàn)證,是則執(zhí)行步驟(8),否則執(zhí)行步驟(5);
[0040] (8)保存該新數(shù)據(jù);
[0041] (9)判斷保存是否成功,是則執(zhí)行步驟(10),否則執(zhí)行步驟(5);
[0042] (10)結(jié)束。
[0043] 更進(jìn)一步地,所述步驟(3)的加載相應(yīng)的數(shù)據(jù)包括以下分步驟:
[0044] (3.1)配置表單查詢(xún)XML(即,可擴(kuò)展標(biāo)記語(yǔ)言):先獲得查詢(xún)關(guān)鍵字,確定排序方 式;對(duì)現(xiàn)有列表進(jìn)行查詢(xún);顯示查詢(xún)結(jié)果;
[0045] (3 · 2)配置表單錄入:將查詢(xún)結(jié)果配置XML-FormLayout節(jié)點(diǎn)、ctrltype屬性 ((HtmlInputText、TextBox、ComboTextBox))后錄入。
[0046] 如下拉選擇框在選擇某個(gè)母豬耳號(hào)的時(shí)候會(huì)把母豬相關(guān)的棟舍、品種、狀態(tài)查出 來(lái)填充到表單中,數(shù)據(jù)加載到內(nèi)存中,減輕服務(wù)器壓力,減少用戶(hù)操作。
[0047] 更進(jìn)一步地,所述表單的表單配置文件具有一個(gè)根節(jié)點(diǎn),根節(jié)點(diǎn)包含工具條、數(shù)據(jù) 導(dǎo)航、表頭表體數(shù)據(jù)。
[0048] 具體地,表單配置文件有一個(gè)根節(jié)點(diǎn),一般用PageFormView名稱(chēng),但這也不是必須 的。根節(jié)點(diǎn)下可以包含工具條、數(shù)據(jù)導(dǎo)航、表頭表體數(shù)據(jù)。表頭表體數(shù)據(jù)分別是在一張單據(jù) 上不同的數(shù)據(jù)結(jié)合,相對(duì)于數(shù)據(jù)庫(kù)中一對(duì)多表,一方表的一條記錄在表單中的顯示稱(chēng)之為 表頭,多方表和一方表關(guān)聯(lián)的多條記錄數(shù)據(jù)的顯不稱(chēng)之為表體。在一個(gè)表單中,表頭和表體 可以多種組合顯示,如一個(gè)表頭和多個(gè)表體。每一個(gè)表頭或表體在配置文件中,對(duì)應(yīng)一個(gè) FormProfile配置節(jié)點(diǎn)。表頭表體數(shù)據(jù)可以包括展現(xiàn)數(shù)據(jù)、下拉數(shù)據(jù)、保存數(shù)據(jù)和字段屬性 數(shù)據(jù)和表單上特殊需要的數(shù)據(jù)。可以包括是指其中的節(jié)點(diǎn)數(shù)據(jù)都不是一定必須的,根據(jù)業(yè) 務(wù)要求取舍,一般具有表頭和表體配置格式如圖5所示。
[0049] 圖5中PageFormView是根節(jié)點(diǎn),它的子節(jié)點(diǎn)包括ToolBar、Navigation和 FormProf ile,它屬性包括name和formid,name屬性值取頁(yè)面文件名稱(chēng),如"Sales ·aspx",主 要用于如果多個(gè)表單配置放在同一個(gè)配置文件時(shí),和頁(yè)面文件訪問(wèn)時(shí)建立關(guān)聯(lián),對(duì)單個(gè)配 置文件該作用忽略。formid屬性值指向頁(yè)面設(shè)計(jì)中包含表單數(shù)據(jù)容器Panel控件(在客戶(hù)端 按div標(biāo)記顯示)的id值,用于幫助發(fā)現(xiàn)容器內(nèi)其他控件。
[0050] 更進(jìn)一步地,所述工具條配置包括本地配置和引用配置;本地配置是在本配置文 件中直接配置工具條數(shù)據(jù);引用配置是引用另一個(gè)工具條配置文件,引用配置通過(guò)工具條 數(shù)據(jù)節(jié)點(diǎn)屬性refsrc的值,指向引用配置文件的位置;本地配置優(yōu)先于引用配置。
[0051 ]具體地,工具條配置有二種方法:一種是在本配置文件中直接配置工具條數(shù)據(jù),另 一種是另外引用一個(gè)工具條專(zhuān)門(mén)配置文件。后者一般是工具條共用配置,滿(mǎn)足對(duì)工具條通 用要求,理論上可以對(duì)不同場(chǎng)景下工具條進(jìn)行分類(lèi),形成不同的配置。前者主要是根據(jù)本地 表單工具條特殊要求而進(jìn)行配置,本地配置優(yōu)先于引用配置。引用配置通過(guò)ToolBar數(shù)據(jù)節(jié) 點(diǎn)屬性ref src的值,指向引用配置文件的位置。ref src的值有二種表示方法,一種是前面包 含"#"的值,后面的值是系統(tǒng)名值對(duì)關(guān)鍵字,關(guān)鍵字值指向配置文件位置。另一種不帶 的值直接指向配置文件位置。
[0052]如圖6所示,系統(tǒng)名值對(duì)關(guān)鍵字配置由一個(gè)系統(tǒng)配置文件管理,系統(tǒng)配置文件位置 由conf ig配置文件中appSettings節(jié)點(diǎn)配置GlobalProf ile屬性指定,GlobalProf ile作為 系統(tǒng)確定的常量值。
[0053] ToolBar配置內(nèi)容包括二部分:一部分是對(duì)按鈕構(gòu)造及樣式說(shuō)明,另一部分是對(duì)業(yè) 務(wù)邏輯的狀態(tài)標(biāo)識(shí)進(jìn)行配置,格式如圖7所示。
[0054]工具條根節(jié)點(diǎn)包括三個(gè)屬性,formid屬性值指向設(shè)計(jì)頁(yè)面包含工具條控件容器 Panel的id值,這主要用于服務(wù)器端在創(chuàng)建頁(yè)面時(shí)自動(dòng)創(chuàng)建工具條對(duì)象。hiddenites的屬性 值是對(duì)已配置的按鈕進(jìn)行隱藏,以","分隔的數(shù)據(jù)對(duì)應(yīng)按鈕順序的索引,按鈕索引從〇開(kāi)始。 hiddenites的屬性值解析出的每個(gè)數(shù)據(jù)就是對(duì)應(yīng)的按鈕索引并對(duì)其按鈕進(jìn)行隱藏。索引號(hào) 數(shù)據(jù)可以不按大小順序,不能對(duì)應(yīng)按鈕順序的索引數(shù)據(jù),在程序處理時(shí)自動(dòng)忽略,不做錯(cuò)誤 處理。屬性class值是工具條樣式名稱(chēng),可以對(duì)工具條操作的不同狀態(tài)進(jìn)行不同顯示設(shè)置。 [00 55] 圖7中配置了15個(gè)常用按鈕,每一個(gè)menultem節(jié)點(diǎn)配置一個(gè)按鈕信息,其中text的 屬性值代表按鈕標(biāo)簽的文本,command屬性值代表按鈕執(zhí)行的命令,class屬性值代表按鈕 的樣式名稱(chēng),通過(guò)該名稱(chēng)可以渲染按鈕操作過(guò)程狀態(tài),class屬性缺省時(shí),系統(tǒng)默認(rèn)屬性值 為buttoruOperation節(jié)點(diǎn)配置的是按鈕不同操作狀態(tài)時(shí)標(biāo)志的狀態(tài)值,用0和1組成的字符 串值的長(zhǎng)度和按鈕數(shù)一致,并對(duì)應(yīng)按鈕的狀態(tài)值,其中〇表示按鈕為不可用,1表示按鈕可 用。每個(gè)節(jié)點(diǎn)名稱(chēng)對(duì)應(yīng)一組狀態(tài),通常情況下,一個(gè)按鈕的操作將引起其他按鈕可用狀態(tài), 程序?qū)Σ煌M狀態(tài)進(jìn)行"與"運(yùn)算,最后的結(jié)果便為工具條狀態(tài)值。
[0056] 在本地表單配置文件中進(jìn)行工具條節(jié)點(diǎn)配置,可以改變上述按鈕的數(shù)量、操作命 令和按鈕組邏輯狀態(tài)值。不過(guò)javascript中工具條腳本處理的是通用按鈕,如果在表單配 置文件中自定義配置工具條,可能需要自己處理不同按鈕操作。
[0057] 更進(jìn)一步地,所述數(shù)據(jù)導(dǎo)航采用關(guān)鍵字值在服務(wù)器端計(jì)算、控制導(dǎo)航的方式。
[0058]具體地,表單通常根據(jù)業(yè)務(wù)流程進(jìn)行不同處理,如修改、審核等操作,這樣就需要 經(jīng)常查找已經(jīng)填制的表單。根據(jù)業(yè)務(wù)活動(dòng)特點(diǎn),有的需要在相鄰、連續(xù)表單中集中處理,比 如單據(jù)確認(rèn)、審核等,有的需要從大量的表單中查找單個(gè)表單進(jìn)行處理,我們定義查找具體 一張表單為導(dǎo)航。導(dǎo)航可以有多種形式,在當(dāng)前表單上可以執(zhí)行向前頁(yè)、后頁(yè)命令,來(lái)查看 前后連續(xù)表單,也可以直接定位到首頁(yè)或末頁(yè);還可以通過(guò)列表記錄直接導(dǎo)航到具體表單。 相對(duì)表單內(nèi)嵌導(dǎo)航,列表導(dǎo)航具有離散性特點(diǎn),但同時(shí)也多出頁(yè)面跳轉(zhuǎn);在提供關(guān)鍵字值情 況下,也可以直接定位