




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
前 第一章設(shè)計介 模型介 第二章開發(fā)說 調(diào)用方 自己實現(xiàn)過查詢框的情 常用條件Panel的使 附 附一查詢條件表中個字段含 附二系統(tǒng)函數(shù)列 專題一:定制自定義 專題二:查詢模板響 V56新增功 查詢模板前臺緩 分頁異步查 nc.vo.querytem 類 3,雙引 V60新功 查詢方 前查詢模板的功能比較單純,用一句話概況就是,接受用戶的輸入,構(gòu)造SQL語句的WhereAand(Bor(Cand1Form形式,使簡單條件(And聯(lián)接)的錄入更方ClearQuest單獨(dú)的in操作符仍然支持,這樣可以消除實際操作時對“或者(or)”操作符的需sql語句中完成查詢的排序功能。234組合合成的。比如:部門=’生產(chǎn)部’and(人員編碼=’P0001’or人員編碼=’P0003’)。在新查詢2.1FilterQueryConditionVO。FilterMetaQueryConditionVO進(jìn)行轉(zhuǎn)換操作后生成的,或從單據(jù)元數(shù)據(jù)生成。IOperator接口是對操作符的抽象。IFileldValueIFieldValueElement是對一個“原子”值的抽象,實際可能是描述了一個整數(shù),或者是一個Whereand,orIFilter形成的一棵樹,在新查詢模QueryTree來描述。前面舉的例子,表示成樹的形式就如下圖所示。人員編碼人員編碼人員編碼2.2不論是高級視圖還是常規(guī)視圖,其內(nèi)部都是用QueryTree來組織單個的IFilter2.3QueryTreeIFilter之間的與或關(guān)系。對于常規(guī)視圖來說,用戶不用關(guān)心,實際也不能修改,IFilter之間QueryTreeIFilter的編輯,往往是和具體的業(yè)務(wù)相關(guān)的,默認(rèn)的編輯方式不一定能滿足業(yè)務(wù)的要求。IFilter編輯進(jìn)行擴(kuò)展。IFilterIFilterEditorIFilter的IFilterEditorFilterEditorManager創(chuàng)建出一個。默認(rèn)的情況足業(yè)務(wù)的需要,則可以按需定制符合要求的編輯器,并到FilterEditorManager中,即可FilterMetaLabel控件,中間是供選擇操作符的下拉框控件,右邊被綠色線框框住的部分IFieldValueIFieldValueEditor,默認(rèn)情況下創(chuàng)建出來的是的編輯器,DefaultFieldValueEditor也是可以被替換的。上是對IFieldValueElementEditor的包裝。DefaultFieldValueEditorIFieldValueElementEditor是否允許多選。上面所描述的DefaultFieldValueEditor的行為如果符合業(yè)務(wù)的需要,那么你可以坦然接受它,反之則是定IFieldValueEditor的時候了。DefaultFieldValueEditor的情況下,用戶在為某個查詢條件選定一個部門,或IFieldValueElementEditorManager創(chuàng)建出來的,默認(rèn)的情況下它又把這個任務(wù)委托給了DefaultFieldValueElementEditorFactory這個工廠類。這個工廠類根據(jù)在pub_query_conditionIFieldValueElementEditor實例。同樣地,這個過程也是可以根據(jù)需要擴(kuò)展的,支持定制IFieldValueElementEditor。。綜上所述,新查詢模板對IFilter的編輯,分別在IFilterEditor,IFieldValueEditor,輯器,一個XXEditorManager來管理工廠一個定制的編輯器,概況來講可以分成三個產(chǎn)該自定義編輯器3.把該工廠類到XXEditorManager中。。關(guān)于如何,請參看開發(fā)說明有關(guān)章節(jié)2.6IFilterSQL語句。(custom(customisnullorcustomin('C1','C2','C3'))(invisnullorcustomin當(dāng)然對于訂單來說,其經(jīng)銷商和存貨字段一般都是不可為空的,上面的"customisnull"sql不會象上面一樣是用('C1','C2','C3')這樣的形式枚舉其有權(quán)限的數(shù)據(jù)而是一個有權(quán)sqlsql是以下的形式bd_cubasdoc.pk_areaclbd_cubasdoc.pk_areaclisnullbd_cubasdoc.pk_areaclin(selectdistinctpower.resource_data_idfromsm_power_areaclasspower,sm_useru,sm_user_roleurolewhereu.cuserid='0001SD100000000000UP'andu.cuserid=urole.cuseridandurole.pk_corp='1001'andurole.pk_role=power.pk_roletypecode=1and(power.pk_org='1001' mon_powerNC的權(quán)限不但和角色相關(guān),和角色所屬的組織也相關(guān),即權(quán)限實際上描述了,角色,A有權(quán)限查詢的公司為(O1,O2),o1,其有權(quán)限的經(jīng)銷商為(C1,C2),有權(quán)限的存貨為(I1,I2);對于公司o2,其有權(quán)限的經(jīng)銷商為(C2,C3),有權(quán)限的存貨為(I2,I3)Ao1o2的數(shù)據(jù)進(jìn)行查詢時,需要附加(((pk_corp='o1'(customisnull customin('C1','C2'))(invisnullorinvin('I1','I2')))(customisnullorcustomin('C2','C3'))(invisnullorinvin('I2','I3'))custominv對應(yīng)的數(shù)據(jù)權(quán)限子查詢,然后組合成最終的條件。訂單訂單.制單人=訂單.訂單號訂單.客商.編碼訂單.客商.名稱 (o.c.code=’001’or=‘tiger’oro.no=‘55001’)ando.p (o.c.(code=’001’orname=’tiger’)oro.no=‘55001’)ando.p訂單.訂單.制單人=訂單.客商.名稱訂單.客商.編碼’訂單.訂單.制單人=訂單.客商.(編碼=’001’or名稱查詢getNormalPanel(getWhereSQL(setShowDefine;無getOrderSql(getSqlDscrpt(無getWhereSqlWithoutPower(如果需要指定的temteid,只需要在傳入的參數(shù)temteinfo中設(shè)置其temteid即可如果確實外show繼承查詢框樣例代碼可參見:nc.ui.trade.query.HYQueryConditionDLG該類只 teInfotempinfo=new queryDlg=newQueryConditionDLG(this,null,tempinfo);采用與UI工廠原先類似的方法。只是把nc.ui.trade.query.HYQueryDLG替換為PanelINormalQueryPanel參數(shù)的nc.ui.querytemte.QueryConditionDLG構(gòu)造子創(chuàng)建查詢框,將自己定義的常用transient。23privateprivateclassTestNormalPanelextendsUIPanelimplementsINormalQueryPanel{privateUILabellabel=newUILabel("Fillthetxt:");privateUITextFieldtxtField=newUITextField(30);publicTestNormalPanel(){}publicJComponent ponent(){returnthis;}publicObjectgetNormalQueryObject(){returntxtField.getText();}publicvoidsetNormalQueryObject(ObjectqryObject){}publicvoidclearData(){}publicvoidreSetData(){}PowerCorrelationVOpcvo=newPowerCorrelationVO(); PowerCorrelationVOpcvo2=new 數(shù)據(jù)權(quán)限是否啟用有開關(guān)控制,其控制開關(guān)為數(shù)據(jù)權(quán)限是否啟用有開關(guān)控制,其控制開關(guān)為 teInfo中的如下字privatebooleanisDataPowerCtrl=數(shù)據(jù)權(quán)限強(qiáng)制開關(guān).(5.3后適用,即總開關(guān)作用,其優(yōu)先級最高privateboolean Switch=IDataPowerEnableJudgerregisterDataPowerEnableJudger(IDataPowerEnableJudgerjudg)Fltereditor屬性就需要用查詢模板的機(jī)制來實現(xiàn)。被的定義在nc.ui.querytemte.CriteriaChangedEvent中,包括如下 Filter改變,包括Filter的值改變和操作符改 Filter移除,從條件編輯器中刪除該Filter觸 Fltereditor初始化,添加Filter和在高級視圖Filter時觸發(fā) 要使用查詢模板機(jī)制,需要實現(xiàn)ICriteriaChangedListener接口,并將其使用QueryConditionDLGregisterCriteriaEditorListener(ICriteriaChangedListenerlistener)方法注QueryConditionDLGQueryConditionDLGqcd=newQueryConditionDLG(panel,tnp,tempinfo);qcd.registerCriteriaEditorListener(newICriteriaChangedListener(){publicvoidcriteriaChanged(CriteriaChangedEventevent){List<IFilter>fi=event.getCriteriaEditor().getFiltersByFieldCode("pk_corp");for(inti=0;i<fi.size();i++){corpcode=corpcode="";}}}}DefaultFilterEditordfe=(DefaultFilterEditor)event.getFiltereditor(); FilterEditorChangedUtil.setRefPk(dfe,}}}*注FilterEditorChangedUtil是編輯器改變工具類,目前處理對參照編輯器的各種改變,whereRefModel等,可根據(jù)業(yè)務(wù)組具體要求擴(kuò)展。在使用查詢模板機(jī)制時需要注意的是普通視圖和高級視圖是有差別的那就FilterFilterFilter,只有在創(chuàng)建新的Filter或修改已有Filter時才會以框形式初始化相應(yīng)的編輯器。詳細(xì)可提需求,UAPservice解決。如果是combobox,要看數(shù)據(jù)怎樣的,如果是i,c那么默認(rèn)值為序號,如果是s那 如果想要默認(rèn)值為aa,bb 則默認(rèn)值為0,1 則為aa,bbVO teTotalVOProceeor(newIQueryTem publicvoidprocessQueryTempletTotalVO(if(totalVO!=null){QueryConditionVO[]qryconds=totalVO.getConditionVOs();for(QueryConditionVOqcvo:qryconds){if(qcvo.getFieldCode().equals("bd_purorg. }}}}qcd.registerFieldValueEelementEditorFactory(newqcd.registerFieldValueEelementEditorFactory(newIFieldValueElementEditorFactory(){if te.operator".equals(meta.getFieldCode()))UIRefPanerefPane=newrefPane.setWhereString("pk_corp='"+getCurrPK_corp()+"'");returnnewRefElementEditor(refPane,meta.getReturnType());} 自己再去獲得想要的取值,而新的查詢模塊,不允許外面調(diào)用者自己去拼寫SQL。所以,增強(qiáng)說明,即擴(kuò)展consultcode.參見查詢條件表中字段說明。:常用條件文中已有介紹(參見2.1.3常用條件Panel的使用調(diào)用者自己獲取常:邏輯條件:查詢條件有屬性是否查詢條件(isCondition)false那么該條件sql,相當(dāng)于提供一個字段—值對,可以把邏輯條件看作是如何得到用戶操作的如果是自己組織的邏輯條件或者自定義的常用條件Panel,那肯定是產(chǎn)品組自己負(fù)責(zé)得取了。如果是用的默認(rèn)的邏輯條件Panel,可以用DefaultLogicalEditor.getNormalObject()得null;2度為0的,需要把操作符為“ISNULL。同理,查詢模板支持非空查詢,對應(yīng)的操作符為“isnotnull”和“ISNOTNULL設(shè)置其他查詢條件的值(聯(lián)動where條件等?權(quán)限后,查詢模板附加的信息是codeisnullor…這種情況怎么處理?答:在調(diào)用模板時,調(diào)用TemteInfo的setDatapowerNullStr(StringdatapowerNullStr)sqlcodeisnullorcode=‘datapowerNullStror………附pub_query_templet是否適用參照類型.表示參照顯示/返回的值是使用其編碼,名稱,操作符編碼。每個操作符后帶有一個預(yù)置約束條件,V56V56指標(biāo)條件,V56V561*:consult_codedatatype相關(guān)datatype=1,即整型consult_code1、取值范圍為[20,30],那么consult_code的值為20,30。2、取值范圍為>20,那么consult_code的值為203、取值范圍為<30,那么consult_code的值為consult_code的設(shè)置方式是以“,”為分隔符組成字符串,第一個數(shù)字表示小數(shù)點(diǎn)后位數(shù),第直接寫參照名稱.Model ..為的名稱,對應(yīng)bd_bdInfo中定義的bd_name,如{人員PK:...為的Pk,,對應(yīng)bd_bdInfo中定義的pk,如datatype=6I,C,SI:(index):表示返回值是數(shù)值0,1,2等;C:(char)表示返回值是字符型的索引,如’0’,’1’等;S:(String)在(i)X或者F:表示多語支持兩種形:CX,UC 3和CX,C .前者最終示的為多語定義的內(nèi)容且返回值為=后面的數(shù)值或者是其對應(yīng)的字符,后者從該模板的功能節(jié)點(diǎn)對應(yīng)下的資源下去取多語。F:pd_dd.(字段值列表).IF,bd_accbank,banktype表名/ 取值時候,如果IF,表示取szqz字段的int表示形式;如果CF,則表示取szqz字段的字符表示形式;如果為SF,則直接取自字段qzsm;v5.3原來的字后追加列名來表示,所取的值!如IF,bd_accbank,banktype,xh表示取對應(yīng)xh所有的可能測試用例如下:vo.setConsultCode("I,男,女");//return0,1;butnottranslate,sodisencouragevo.setConsultCode("C,男,女");//return'0','1'vo.setConsultCode("S,男,女");//return男","女vo.setConsultCode("I,男=4,女=8");//returnvo.setConsultCode("C,男=4,女=8");//return'4','8'vo.setConsultCode("S,男=male,女=female");//return"male","female" //sameeffectas //returni18n(UPP10100-111),i18n(UPP10100-112);disysameasvo.setConsultCode("SF,bd_produce,batchrule");//returnqzsmvo.setConsultCode("IF,bd_produce,batchrule");//returnszqzvo.setConsultCode("CF,bd_produce,batchrule");//returnchar(szqz)vo.setConsultCode("SF,bd_produce,batchrule,zfqz");//returnzfqzvo.setConsultCode("IF,bd_produce,batchrule,zfqz");//returnszqz.Ifirst //returnxh //returnchar(xh) //return2*instrumentsql在沒有instrumentsql的情況下得到的sql為table.code=’001’如果我們把instrumentsql為‘selectidfromtablewhere???’sqlselectidfromtablewheretable.code001’(詳見專題一i月(i區(qū)間i天(i區(qū)間本月第一天(1號本周第一天(周一Filtersql語句往往不能完全滿足業(yè)SQLSQL呢,在講清楚這個問題之前,1、BasicSql由查詢模板生成的單條查詢條件為filed_code+operator_code+value,如下sqldate2007-01-01’BasicSqlIFltergetBasicSql()2、CombinedSql本版查詢模板對查詢條件按照一定條件進(jìn)行了合并優(yōu)化,即符合合并FilterFilter是否能夠合并,F(xiàn)ilterbooleancombinable(IFilterfilter)FilterMeta中instrumentedsql(sql生成,后文詳細(xì)介紹)Filter認(rèn)為可合并。Date2007-01-01’andFlag‘Y’這里我們稱之為CombinedSql,可以通過 3、最終sql查詢模板中一個Filter最終拼到查詢條件中的sql。FilterFilter根據(jù)業(yè)務(wù)場景不同,分為三種情況,下面依次對三種情況進(jìn)MethodBasicSql內(nèi)推到一段固定的如:BasicSqldate2007-01-sql為pkin(selectfkfromtablewheredate2007-01-(FilterMetainstrumentedsql屬性,前文提到)字段值為“pkin(selectfkfromtablewhere???)”用三個問號代替BasicSql。SQLpkin(selectfkfromtablewheredate2007-01-01’)instrumentedsqlDate的instrumentedsql值為pkin(selectfkfromtablewhere???)同樣Flag的instrumentedsql值為pkin(selectfkfromtablewhere???),且二者都在并且邏輯符下,則其構(gòu)造sql過程為。首先生成各自的BasicSqldate=‘2007-01-01’,F(xiàn)lag=‘Y’。因為二者的instrumentedsqlSqldate2007-01-01’ANDFlag‘Y’,sqlinstrumentedsql中的占位符(???)sql:pkin(selectfkfromtablewheredate=‘2007-01-01’ANDFlag=“當(dāng)然上述過程由查詢模板內(nèi)部機(jī)制處理,業(yè)務(wù)組只需在數(shù)據(jù)庫中輔助查詢”的值“BasicSql可整體作為其查詢條件中一部分的情MethodFilterFilter的getSqlString()問我們講了,查詢模板提供了機(jī)制,其中就可以一個生產(chǎn)FilterEditor的Sql的拼寫。下面是示例代碼:qcd.registerFilterEditorFactory(newIFilterEditorFactory(){publicqcd.registerFilterEditorFactory(newIFilterEditorFactory(){publicIFilterEditorcreateFilterEditor(IFilterMetameta){ returnnewDefaultFilterEditor(qcd.getQueryContext(),meta){protectedIFiltercreateFilter(FilterMetameta){returnnewDefaultFilter(meta){publicStringgetSqlString(){Stringvaluereturn"realColumnname="+meta.getFieldCode()+"and}}}return 部分就是重寫了DefaultFilter的getSqlSring()方法。這里你可以隨自己需要寫出SQL。當(dāng)然,你也可以復(fù)寫DefaultFilter的getBasicSql()方法,配合第 完成自己的sql。還是第一個方 期的例子,在上面的代碼中復(fù)寫returnnewDefaultFilter(meta){publicStringgetSqlString(){Stringvalue=((DefaultFieldValueElement)return"Querycol="+meta.getFieldCode()+"and"}BasicSql為:Querycoldateanddate2007-01-01’,然后后續(xù)處理和方法一中BasicSql后處理的方式相同。上述方法適用于查詢條件固定,且查詢模板默認(rèn)生成的sql不能整體作為查詢條件一部分的情況另外如果該條件需要保存那么filter不能使一個 該filter需要繼承DefaultFilter。Methodsqlsql呢?例sql。那么就需要我們前面章節(jié)講到的機(jī)制和機(jī)制配合來完成了。如果所屬公司查詢條件為空,那么條件為pkin(selectfkfromTablewherepk_resppsn=‘somebody’而如果所屬公司字段值為pk_corp,那么條件為pkin(selectfkfromTablewherepk_resppsn=‘somebody’andclassclassDefFilterextendsDefaultFilter{Stringpk_corp=null;publicDefFilter(FilterMetafm)}publicStringgetPk_corp()return}publicvoidsetPk_corp(Stringpk_corp)this.pk_corp=}publicStringgetSqlString(){Stringcorp=getPk_corp();if(corp!=null)return"pkin(selectfkfromTablewhere"++"andpk_corp='"+corp+}}這里不像方法2中直接在工廠的方法里面定義一個類是因為在后面的代碼中Filter的一個實例。qcd.registerFilterEditorFactory(qcd.registerFilterEditorFactory(newIFilterEditorFactory(){publicIFilterEditorcreateFilterEditor(IFilterMetameta){returnnew protectedIFiltercreateFilter(finalFilterMetameta) returnnewDefFilter(meta) }returnStep3:使用響應(yīng)機(jī)制,從編輯界面取到所屬公司條件的值,把它set到qcd.registerCriteriaEditorListener(qcd.registerCriteriaEditorListener(newICriteriaChangedListener(){publicvoidcriteriaChanged(CriteriaChangedEventevent){Stringcorp=List<IFilter>filters=event.getCriteriaEditor()for(IFilterfilter:filters){}(ownercorp='0001'ANDpkin(selectfkfromTablewherepk_resppsn=''pk_corp=我們來看一下查詢模板都可以哪些且這些時間都對應(yīng)著查詢模板上的那些具體行為。查詢模板定義在CriteriaChangedEvent.java中包括: 查詢條件的值變化觸發(fā)該 查詢條件被刪除觸發(fā)該 查詢條件編輯器初始化,當(dāng)普通視圖和高級filter會彈出編輯器,也會觸發(fā)該。 邏輯操作符改變,switch高級界面的邏輯操作符會觸發(fā)該,但是本版暫不支持該。我們只要在查詢模板上一個就可以對這些進(jìn)行處理了堅挺的方式時調(diào)用查詢框的registerCriteriaEditorListener(ICriteriaChangedListenerlistener)方法。Step1wherepart改變;Step2(wherepartpart)Step3wherepart。前面兩個步驟可以在處理所屬公司值改變中處置而第三步則需要在采購組織編碼條件初始化中處理。Step1(wherepartpartStep2wherepartFilterEditorChangedUtil工具類,該工具類提供了對默認(rèn)編輯model等。qcd.registerCriteriaEditorListener(newqcd.registerCriteriaEditorListener(newICriteriaChangedListener(){publicvoidcriteriaChanged(CriteriaChangedEventevent){if(event.getCriteriaEditor()instanceofSimpleEditor){SimpleEditorse=(SimpleEditor)event.getCriteriaEditor();List<IFilterEditor>feList=for(IFilterEditorife:feList)DefaultFilterEditordfe=(DefaultFilterEditor)ife;FilterEditorChangedUtil.setRefWherePart(dfe,"1=0");}}List<IFilter>ifList=for(IFilterfilter:ifList){}}}}}}不多,只是FilterEditorChangedUtil.setRefWherePart改為setRefPk;event.getCriteriaEditor().setFilterValue(IFilterfilter,String即可V56查詢框加載查詢模板的流程圖如下VOts字段是判斷其是否變化的標(biāo)識。需要了解有這個功能即可。如果直接在數(shù)據(jù)庫里修改了查詢模板的某些屬性而沒有修改ts值,那么在調(diào)試時就需要刪除前臺緩存了,緩存文件是:息去執(zhí)行具體的查詢操作。老查詢模板(QueryCondition)的開發(fā)流程詳見QCC開 客戶端可以根據(jù)自己的需要設(shè)置查詢框以哪種方式展現(xiàn),這份信息保存 teInfotempinfo=newTem//setotherattributesvalueQueryConditionDLGqcd=newQueryConditionDLG(this,tempinfo);TemteInfo中的queryType屬性來記錄查詢方式,它的取值有值值它們都定義在 te.querytype.IQueryType中,默認(rèn)值是不支持復(fù)雜查詢,即查詢框沒有查詢方式頁簽創(chuàng)建QueryConditionDLG實例之后,就可以根據(jù)查詢方式設(shè)置其他必要的信息了。共BOTH則需要關(guān)注全部三份信息。QueryConditionDLGpublicvoidsetPagedSubjects(ISubject[]qcd.setPagedSubjects(qcd.setPagedSubjects(newISubject[]newSubject("store倉庫newSubject("dept部門newSubject("cust客商newSubject("psndoc人員設(shè)置的供選擇項目必須實現(xiàn)nc.vo.querytemte.querytype.ISubject接口,其中項目編碼必須能夠唯一標(biāo)識該項目。nc.vo.querytemte.querytype.Subject類是該接口的默認(rèn)實現(xiàn),已QueryConditionDLGpublicvoidsetFixedPagedSubjects(ISubject[]qcd.setFixedPagedSubjects(qcd.setFixedPagedSubjects(newISubject[]newSubject("store倉庫newSubject("dept部門newSubject("cust客商newSubject("psndoc人員注:供選擇的分頁項目和固定分頁項目對于同一個查詢框?qū)嵗齺碚f,最多只能有QueryConditionDLGpublicvoidsetMaxNumberEnabled(booleanQueryConditionDLGpublicvoidregisterQueryResu efaultName(INameGeneratorgenerator); efaultName( efaultName(newINameGenerator()publicStringgenerate()returnnew}的名稱必須實現(xiàn)nc.ui.querytemte.filtereditor.INameGenerator接口該接口publicString程序需要獲取這份信息。QueryConditionDLG提供接口獲取這份信息:publicQueryTypeInfoQueryTypeInfo對象,QueryTypeInfo中保存了所有的配置信息,客戶端程序根據(jù)自己的查詢方式去感的信息即可。代碼示例:ifif(getQCDPaged().showModal()==UIDialog.ID_OK){QueryTypeInfoinfo=getQCDPaged().getQueryTypeInfo();}UITabbedPaneUITabbedPanetabbedPane=IQueryTypeEditoreditor=QueryTypeEditorFactory.create(Stringname=NCLangRes.getInstance().getStrByID("_tem "QueryConditionEditor-000000");/*tabbedPane.insertTab(name,ponent(),name,create(int)該接口提供的ponent()方法用于返回編輯器對應(yīng)的UI組件,可以被直接加載到外部容器(如QueryCondition)中。IQueryTypeEd
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級未來發(fā)展的愿景與規(guī)劃計劃
- 老師個人專業(yè)發(fā)展目標(biāo)計劃
- 急診工作中的時間管理計劃
- 杭州某樓盤營銷工作總結(jié)
- 電子商務(wù)系統(tǒng)的分析與設(shè)計第1章
- 客戶需求分析課程
- 統(tǒng)編版小學(xué)語文二年級下冊第14課《小馬過河》精美課件
- 統(tǒng)編版小學(xué)語文二年級下冊《快樂讀書吧》精美課件
- 2025年高中地理壓軸題答題技巧分享教你快速拿高分
- 第5課+古代非洲與美洲+高一歷史下學(xué)期統(tǒng)編版(2019)必修中外歷史綱要下
- 2025體育單招英語備考100個高頻名詞精講(精校打印版)
- 課堂觀察記錄與分析(高中數(shù)學(xué)-周渚華)
- 第九章單細(xì)胞蛋白質(zhì)飼料
- 肖申克的救贖的英語ppt
- 安裝超載限制器方案
- 《石灰吟》教學(xué)設(shè)計(課堂實錄)
- 架子工實操比賽方案(共19頁)
- X62W銑床主軸機(jī)械加工工藝規(guī)程及鉆床夾具設(shè)計
- (完整版)粉筆數(shù)量關(guān)系聽課筆記(整理版)
- 人教版七年級數(shù)學(xué)下冊:7.1.2平面直角坐標(biāo)系ppt課件
- 工程建設(shè)項目招投標(biāo)投訴書(僅供參考)
評論
0/150
提交評論