公文轉(zhuǎn)發(fā)流程自定義的數(shù)據(jù)建模_第1頁(yè)
公文轉(zhuǎn)發(fā)流程自定義的數(shù)據(jù)建模_第2頁(yè)
公文轉(zhuǎn)發(fā)流程自定義的數(shù)據(jù)建模_第3頁(yè)
公文轉(zhuǎn)發(fā)流程自定義的數(shù)據(jù)建模_第4頁(yè)
公文轉(zhuǎn)發(fā)流程自定義的數(shù)據(jù)建模_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

公文轉(zhuǎn)發(fā)流程自定義的數(shù)據(jù)建模開(kāi)發(fā)比較復(fù)雜的企業(yè)多用戶(hù)管理信息系統(tǒng)(MIS),不可能不涉及到系統(tǒng)內(nèi)多個(gè)用戶(hù)之間的數(shù)據(jù)文件的流轉(zhuǎn)、審批等功能的開(kāi)發(fā)。由于企業(yè)的需求總是隨著時(shí)間推移不斷發(fā)生變化,加之各個(gè)企業(yè)內(nèi)部所設(shè)置的辦公流程不盡相同,一套通用性比較好的管理信息系統(tǒng)應(yīng)該能讓系統(tǒng)管理員自己定義公文轉(zhuǎn)發(fā)的流程。盡管筆者沒(méi)有機(jī)會(huì)在已參與開(kāi)發(fā)了的MIS中實(shí)現(xiàn)出文件轉(zhuǎn)發(fā)流程自定義的功能,但是,早在2002年初就曾深入思考過(guò)這方面的設(shè)計(jì)。當(dāng)時(shí)由于某些原因不能公開(kāi)自己的設(shè)計(jì)思路,現(xiàn)在市面上已經(jīng)有不少M(fèi)IS產(chǎn)品提供這樣的功能,筆者又已離職,所以是時(shí)候把我的設(shè)計(jì)思路整理出來(lái),和大家分享。首先,讓我們分析需求,制定目標(biāo)。1)一般情況下,企業(yè)內(nèi)的公文轉(zhuǎn)發(fā)、審批是按部門(mén)或職位來(lái)轉(zhuǎn)送,即對(duì)崗不對(duì)人。例如:某個(gè)流程的某個(gè)環(huán)節(jié)需要財(cái)務(wù)總監(jiān)審批,日后財(cái)務(wù)總監(jiān)換人,該流程應(yīng)該不受影響。而且,流程中某個(gè)環(huán)節(jié)可能出現(xiàn)某個(gè)部門(mén)中的任何一人都能審批,或者需要該部門(mén)的所有人員共同審批。2)流程中轉(zhuǎn)送,審批的公文一般分為文件和表單2種格式。文件格式的公文應(yīng)該支持批處理,即一次可以轉(zhuǎn)發(fā)多個(gè)文件,審批時(shí)可以只退回其中某一個(gè)不合格的文件,其他的文件可以轉(zhuǎn)送到下一個(gè)環(huán)節(jié)繼續(xù)處理。表單格式的公文應(yīng)該能讓用戶(hù)自己定義表單格式,確定表單中的表項(xiàng)。同理,表單也應(yīng)該支持批處理。3)流程中處理公文的動(dòng)作應(yīng)該能讓用戶(hù)自己定義。這樣一旦日后增加了新的處理動(dòng)作,也不用修改MIS系統(tǒng)的底層數(shù)據(jù)建模。當(dāng)然,要實(shí)現(xiàn)新的處理動(dòng)作,還是需要在業(yè)務(wù)邏輯層編寫(xiě)相應(yīng)的代碼,不過(guò)和修改底層數(shù)據(jù)建模比起來(lái),工作量要少得多。4)每個(gè)流程的環(huán)節(jié)數(shù)不一定相同,應(yīng)該能讓用戶(hù)設(shè)定環(huán)節(jié)數(shù),指定公文流轉(zhuǎn)中每個(gè)環(huán)節(jié)的發(fā)送部門(mén)和接受部門(mén),處理模式,最長(zhǎng)等待時(shí)間。5)當(dāng)待處理的公文發(fā)出后,系統(tǒng)應(yīng)該在等待時(shí)間中定期向該流程中下個(gè)環(huán)節(jié)的用戶(hù)(們)發(fā)出通知,提醒該用戶(hù)(們)及時(shí)處理,直至公文已被處理。如果超出最長(zhǎng)等待時(shí)間,公文還未被用戶(hù)(們)處理,此次流程處理失敗。企業(yè)管理層可能會(huì)要求記錄相關(guān)信息,以便在日后業(yè)務(wù)流程重組(BPR)時(shí)參考。6)某些企業(yè)由于特殊原因,在某個(gè)流程中要求實(shí)現(xiàn)跨環(huán)節(jié)處理。例如,該流程有6步,執(zhí)行到第二個(gè)環(huán)節(jié)時(shí)要求處理后可以跳過(guò)中間三個(gè)環(huán)節(jié),直接轉(zhuǎn)到最后一個(gè)環(huán)節(jié)等候處理。其實(shí),這種情況下,并不一定要在技術(shù)層面上實(shí)現(xiàn)其靈活性,這種特例畢竟是少數(shù)。用戶(hù)只需定義一個(gè)新流程,把上面流程的第1,2,6步復(fù)制加入進(jìn)來(lái),2個(gè)流程之間用流程名來(lái)區(qū)分即可。一個(gè)優(yōu)秀的系統(tǒng)架構(gòu)設(shè)計(jì)師應(yīng)該充分利用現(xiàn)有的工具,不要什么都自行架設(shè)開(kāi)發(fā)。上面的需求對(duì)靈活性要求較高,抽象化程度較深,所以在表現(xiàn)層和業(yè)務(wù)邏輯層的開(kāi)發(fā)量較大,初期投資較多,不過(guò)開(kāi)發(fā)完畢后估計(jì)不需對(duì)底層數(shù)據(jù)庫(kù)修改,即可滿(mǎn)足日后不斷變化的公文流轉(zhuǎn)需求。如果不需要這么高的靈活性,可以按實(shí)際項(xiàng)目簡(jiǎn)化某些假設(shè)條件。下面按照上面的需求進(jìn)行用例(usecase)分析和數(shù)據(jù)建模。1)由于流程環(huán)節(jié)的發(fā)送方和接受方是對(duì)崗不對(duì)人,我們應(yīng)該先描畫(huà)出整個(gè)企業(yè)的機(jī)構(gòu)設(shè)置,確定每個(gè)部門(mén)的權(quán)利職責(zé)。其中大的部門(mén)內(nèi)可能有若干子部門(mén),每個(gè)子部門(mén)內(nèi)又有不同職位,負(fù)責(zé)處理相應(yīng)的事務(wù)。所以,可先建立一個(gè)樹(shù)形關(guān)系的數(shù)據(jù)表來(lái)保存企業(yè)結(jié)構(gòu),然后,采用權(quán)限表和用戶(hù)組相結(jié)合的方式來(lái)保存每個(gè)部門(mén)每個(gè)職位的職能。這塊的設(shè)計(jì)思路見(jiàn)我之前發(fā)布的“淺談數(shù)據(jù)庫(kù)設(shè)計(jì)技巧(上)、(下)”,我在下面直接給出大致的數(shù)據(jù)表結(jié)構(gòu):部門(mén)表(Department_table)嫩名稱(chēng)但類(lèi)型引約束條件哪說(shuō)明仰Dp_id忽int仙無(wú)重復(fù)凳類(lèi)別標(biāo)識(shí),咐主鍵酒Dp_na須me牽varch赴ar(50忍)盟不允許為空推類(lèi)型名稱(chēng),尸不允許重復(fù)廈Dp_fa欺ther雹int對(duì)不允許為空環(huán)該類(lèi)別的父每類(lèi)別標(biāo)識(shí),粉如果是頂節(jié)附點(diǎn)的話(huà)設(shè)定各為某個(gè)唯一甘值敢Dp_la談yer唉varch稿ar(6)壁限定杠3弱層緊,寶初始值為腫00000棋0宿類(lèi)別的先序釋遍歷,主要怎為減少檢索懲數(shù)據(jù)庫(kù)的次丘數(shù)功能表(Function_table)蘆名稱(chēng)碑類(lèi)型士約束條件冶說(shuō)明走f_id惹int犧無(wú)重復(fù)苦功能標(biāo)識(shí),沸主鍵立f_nam宿e叼varch暖ar(20洽)寄不允許為空福功能名稱(chēng),慌不允許重復(fù)詳f_des占c溪varch激ar(50喚)雹允許為空需功能描述用戶(hù)組表(User_group)支名稱(chēng)碰類(lèi)型戲約束條件椒說(shuō)明探group雪_id糊int征無(wú)重復(fù)責(zé)用戶(hù)組標(biāo)識(shí)良,主鍵掛group慧_name鳥(niǎo)varch贈(zèng)ar(20閱)

觸不允許為空曲用戶(hù)組名稱(chēng)尤group卵_powe屋r鴿varch錯(cuò)ar(10灶0)哥不允許為空節(jié)用戶(hù)組權(quán)限淋表,內(nèi)容為并功能表嚇f_id蝦的集合用戶(hù)表(User_table)均名稱(chēng)插類(lèi)型擇約束條件耀說(shuō)明利user_申id頃int撿無(wú)重復(fù)唯用戶(hù)標(biāo)識(shí),蠻主鍵棕user_競(jìng)name柔varch旱ar(20盤(pán))邁無(wú)重復(fù)環(huán)用戶(hù)名膊user_設(shè)pwd相varch逆ar(20邀)駛不允許為空拿用戶(hù)密碼高user_竄type蟲(chóng)int塵不允許為空平所屬用戶(hù)組驅(qū)標(biāo)識(shí),和塊User_盾group嬌.grou附p_id秩關(guān)聯(lián)說(shuō)明:其中,按部門(mén)的不同職位設(shè)置不同權(quán)限的用戶(hù)組,如某個(gè)用戶(hù)組為“市場(chǎng)部業(yè)務(wù)員”,該用戶(hù)組的用戶(hù)可在流程“報(bào)銷(xiāo)申請(qǐng)”中發(fā)送報(bào)銷(xiāo)申請(qǐng)。2)盡管流程中的公文分為文件和表單2種格式,但是每個(gè)文件/表單都應(yīng)該有其唯一標(biāo)識(shí),名稱(chēng)等屬性。所以,我們把公文抽象化,把這2種格式的公文的共有屬性提取出來(lái)建立一張公文表。公文表(Document_table)語(yǔ)名稱(chēng)債類(lèi)型政約束條件統(tǒng)說(shuō)明慣doc_i偷d抹int擔(dān)無(wú)重復(fù)腦公文標(biāo)識(shí),割主鍵絡(luò)doc_n縣ame按varch舟ar(50疲)偽不允許為空橡公文名稱(chēng)堪doc_t釘ype騎char(憲1)

述不允許為空輛公文類(lèi)型doc_type字段用來(lái)辨別公文格式,目前只有2種格式,可設(shè)“1”表示文件格式,“2”表示表單格式。估計(jì)未來(lái)新增公文格式不會(huì)太多,所以該字段只需一位字符。文件格式的公文一般是在文件內(nèi)固定好格式,我們可用一個(gè)二進(jìn)制的字段直接保存整個(gè)文件的內(nèi)容。文件格式的公文需要建一個(gè)表來(lái)保存相關(guān)信息,其大致數(shù)據(jù)表如下:文件表(File_table)喬名稱(chēng)墊類(lèi)型永約束條件約說(shuō)明帝file_稼id竹int邪無(wú)重復(fù)怪文件標(biāo)識(shí),給主鍵亡file_舟name胳varch鄙ar(50閣)運(yùn)不允許為空卻文件名稱(chēng)夾file_壇value瓣binar套y

桌不允許為空龍文件內(nèi)容表單格式的公文要讓用戶(hù)自己定義表單格式,確定表單中的表項(xiàng)。有兩種方法來(lái)實(shí)現(xiàn):①每當(dāng)用戶(hù)建立一個(gè)新格式的表單時(shí),就新建立一個(gè)表,把用戶(hù)輸入的表單表項(xiàng)當(dāng)作該表的字段。這種方式的優(yōu)點(diǎn)是表單查詢(xún)速度較快方便,業(yè)務(wù)邏輯層的開(kāi)發(fā)量較小。缺點(diǎn)是不太靈活,如果企業(yè)所使用的不同格式的表單較多(>20種),整個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu)顯得比較混亂,而且大部分表單中都有相同的字段,這樣也增加了數(shù)據(jù)冗余。這種方式的數(shù)據(jù)建模如下:表單總表(Sheet_table)逃名稱(chēng)默類(lèi)型行約束條件至說(shuō)明聽(tīng)sheet喚_id柳int搭無(wú)重復(fù)巡表單標(biāo)識(shí),驢主鍵汪sheet慕_name誤varch氧ar(50母)味不允許為空遇表單名稱(chēng)適table授_name盼varch同ar(20排)朱不允許為空躬表單子表名茂,如舉Sub_t爪able1者/Sub_宋table賺2表單子表1(Sub_table1)液名稱(chēng)啦類(lèi)型綁約束條件侍說(shuō)明嚴(yán)sub_i喚d量int舍無(wú)重復(fù)愈表單子表標(biāo)眉識(shí),主鍵烘optio蘭n1鍋varch塌ar鈴不允許為空狠表單表項(xiàng)根1繼optio曉n2刺varch搖ar疊不允許為空慕表單表項(xiàng)俊2少optio管n3呈varch番ar編不允許為空紀(jì)表單表項(xiàng)棄3表單子表2(Sub_table2)酷名稱(chēng)奏類(lèi)型勒約束條件欄說(shuō)明腳sub_i戒d液int小無(wú)重復(fù)繞表單子表標(biāo)拔識(shí),主鍵有optio宗n1蓮varch哭ar促不允許為空壟表單表項(xiàng)傾1晨optio現(xiàn)n2拾varch智ar蒸不允許為空辛表單表項(xiàng)星2買(mǎi)optio愧n3拾varch旅ar振不允許為空院表單表項(xiàng)沾3②對(duì)表單再進(jìn)行一個(gè)抽象,把表單看成由若干個(gè)表單表項(xiàng)所組合成的一個(gè)集合。這種方式的優(yōu)點(diǎn)是相當(dāng)靈活,用戶(hù)建立新格式的表單時(shí)只用從已有表單表項(xiàng)中勾選出需要的表項(xiàng)即可,而且整個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)清晰,沒(méi)有數(shù)據(jù)冗余。缺點(diǎn)是開(kāi)發(fā)比較復(fù)雜,工作量和上面相比高出不少,而且表單查詢(xún)速度較慢。下面是這種方式的數(shù)據(jù)建模:表單總表(Sheet_table)洪名稱(chēng)岔類(lèi)型掀約束條件并說(shuō)明自sheet找_id轟int育無(wú)重復(fù)搭表單標(biāo)識(shí),蓄主鍵詠sheet烈_name揉varch穩(wěn)ar(50初)滔不允許為空枝表單名稱(chēng)表單表項(xiàng)表(Option_table)姐名稱(chēng)寶類(lèi)型畏約束條件算說(shuō)明蟲(chóng)op_id眨int續(xù)無(wú)重復(fù)靠表單表項(xiàng)標(biāo)心識(shí),主鍵倦op_na泊me改varch田ar(50與)玻不允許為空口表單表項(xiàng)名嘉稱(chēng)榆op_le稠ngth酷int夜不允許為空故表單表項(xiàng)長(zhǎng)弟度蔑op_un蠢it緣varch僅ar(10謝)俘允許為空味表單表項(xiàng)單交位表單信息表(Sheetinfo_table)刊名稱(chēng)際類(lèi)型紗約束條件子說(shuō)明疑info_先id爹int膚無(wú)重復(fù)蠟表單信息標(biāo)喇識(shí),主鍵帳sheet共_id逮int撇不允許為空化

沉所屬表單標(biāo)革識(shí),和傳Sheet砍_tabl葬e.she享et_id欲關(guān)聯(lián)澡演op_id尖int文不允許為空辜

盈表單表項(xiàng)標(biāo)墻識(shí),和駕Optio張n_tab久le.op胃_id稼關(guān)聯(lián)柔攪info_雀value閑varch弟ar()

辯不允許為空爬表單信息值3)我們可以把公文轉(zhuǎn)發(fā)的流程抽象化,看作一個(gè)實(shí)體超類(lèi)。建表如下:流程表(Flow_table)促名稱(chēng)扒類(lèi)型瓣約束條件含說(shuō)明副flow_切id條int姿無(wú)重復(fù)恭流程標(biāo)識(shí),正主鍵丹flow_營(yíng)name網(wǎng)varch玩ar(50腰)拖不允許為空稈流程名稱(chēng)故flow_農(nóng)stepn暖um債int史不允許為空垂流程步數(shù)載flow_么desc全varch匙ar(20盼0)萄允許為空寸流程描述流程中的每一步都可以抽象化成從發(fā)送方至接受方的用例,其數(shù)據(jù)建模大致如下:處理動(dòng)作表(Action_table)劉名稱(chēng)愚類(lèi)型臨約束條件碧說(shuō)明突a_id謝int霞無(wú)重復(fù)永動(dòng)作標(biāo)識(shí),誼主鍵歡a_nam伴e騙varch束ar(20拜)赤不允許為空劍動(dòng)作名稱(chēng)望a_cal腰l炎varch命ar(50淺)潑不允許為空類(lèi)動(dòng)作所調(diào)用們的模塊學(xué)a_des綿c爽varch壁ar(20聾0)驕允許為空蹲動(dòng)作描述說(shuō)明:如果采用面向過(guò)程的開(kāi)發(fā)方式,如純腳本語(yǔ)言,可以把每一個(gè)處理動(dòng)作寫(xiě)成一個(gè)函數(shù),調(diào)用a_call字段記錄的函數(shù),即可完成相應(yīng)處理動(dòng)作。如果采用面向?qū)ο蟮拈_(kāi)發(fā)方式,可以用COM組件來(lái)封裝處理動(dòng)作,則a_call用來(lái)記錄相應(yīng)的COM組件的接口方法。如果是在.NETFramework環(huán)境下,可以采用Web服務(wù)的方式。當(dāng)然,發(fā)送方、接受方以及公文標(biāo)識(shí)是作為輸入?yún)?shù)的。流程環(huán)節(jié)表(Step_table)討名稱(chēng)童類(lèi)型幻約束條件閘說(shuō)明晉step_御id糖int揪無(wú)重復(fù)茅環(huán)節(jié)標(biāo)識(shí),紗主鍵綠belon爽g貌int嗚不允許為空艘所屬流程標(biāo)惡識(shí),和示Flow_噴table亭.flow嫂_id芒關(guān)聯(lián)縱setp_繩order曬int越不允許為空熊所屬流程的森步驟次序芝sende同r當(dāng)int寸不允許為空革發(fā)送方標(biāo)識(shí)危,和宴User_匆group鄰.grou既p_id薯關(guān)聯(lián)鍛recei府ver璃int

毅不允許為空高接受方標(biāo)識(shí)飯,和華User_烘group眼.grou乏p_id句關(guān)聯(lián)頑a_id閉int手不允許為空餓

砌處理動(dòng)作標(biāo)度識(shí),和奔Actio匹n_tab雕le.a_漿id湯關(guān)聯(lián)癥旁a_typ濕e血int茂不允許為空址接受方所需脫的處理人數(shù)丟max_w害ait耍int通不允許為空刻最長(zhǎng)等待時(shí)功間劇wait_邪unit襪varch嚼ar(5)位不允許為空式等待時(shí)間的廉單位說(shuō)明:a_type用來(lái)確定接受方所需的處理人數(shù),“0”表示需同職位的所有人一起處理,“1”表示只需該職位的任意一名員工處理,“2”表示需該職位的任意兩名員工一起處理,依次遞推……一起處理的方式和處理動(dòng)作有關(guān),例如是投票方式,少數(shù)服從多數(shù),還是某人有一票否決權(quán)等等??赡茚槍?duì)某些處理動(dòng)作還得細(xì)化,進(jìn)行相關(guān)的數(shù)據(jù)建模,這里我就不細(xì)分下去了。4)下面分析公文轉(zhuǎn)發(fā)的流程環(huán)節(jié)記錄。此時(shí)相當(dāng)于實(shí)例化一個(gè)流程環(huán)節(jié)的對(duì)象,發(fā)送方和接受方應(yīng)具體聯(lián)系到管理信息系統(tǒng)的某個(gè)(些)用戶(hù),而不是某個(gè)用戶(hù)組。每經(jīng)過(guò)一環(huán)節(jié),我們除了要保存這方面的信息,還必須保存該環(huán)節(jié)所轉(zhuǎn)發(fā)的公文,以及處理狀況等信息。而且,該環(huán)節(jié)所轉(zhuǎn)發(fā)公文數(shù)量大于等于一,所以可以參考我之前發(fā)布的“淺談數(shù)據(jù)庫(kù)設(shè)計(jì)技巧(下)”中的“簡(jiǎn)潔的批量m:n設(shè)計(jì)”,建表大致如下:流程環(huán)節(jié)記錄表(Step_log)候名稱(chēng)誰(shuí)類(lèi)型獨(dú)約束條件驕說(shuō)明傲log_i稼d板int起無(wú)重復(fù)寄環(huán)節(jié)記錄標(biāo)殲識(shí),主鍵蛇step_光id傲int典不允許為空駝環(huán)節(jié)標(biāo)識(shí),邀和符Step_裹table勢(shì).step卡_id沃關(guān)聯(lián)扣sende侵r發(fā)varch腹ar(10傘0)硬不允許為空誠(chéng)發(fā)送用戶(hù)標(biāo)餅識(shí),相關(guān)用振戶(hù)組的告User_驗(yàn)table互.user努_id段的集合拆recei額ver餃varch歡ar(10田0)狐不允許為空肆接受用戶(hù)標(biāo)仆識(shí),相關(guān)用吧戶(hù)組的顏User_頂table鄭.user該_id旁的集合陶doc_i斃d廊int祝不允許為空區(qū)轉(zhuǎn)發(fā)公文標(biāo)隔識(shí),和諒Docum臥ent_t祝able.母doc_i教d榜關(guān)聯(lián)皂batch竄_no弄int龍不允許為空旱批量轉(zhuǎn)發(fā)公窯文編號(hào),同攏一流程環(huán)節(jié)賽轉(zhuǎn)發(fā)的局batch邪_no微相同象state核char(戲1)

暫不允許為空號(hào)處理狀態(tài)嫂sub_d偷ate槐datet鍬ime淡不允許為空旅提交時(shí)間固res_d崖ate躍datet騾ime消允許為空層處理回復(fù)時(shí)糞間澡comme屆nt骨varch

溫馨提示

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

評(píng)論

0/150

提交評(píng)論