| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782 |
- /**
- * @author herong
- * 字符组件
- */
- var CFWStr = _FW.fCreateClass();
- /**
- * 字符组件API
- */
- CFWStr.prototype = {
-
- /**
- * 初始化
- * */
- fInitialize : function(options) {
-
- },
- /**
- * 将数值类型转化为String
- * 主要是将传入的数值类型入参变量转换为字符串
- * @param Integer iInputs (必需)数据类型入参
- * @return String 转换后的字符串
- * <pre>
- * 使用举例:
- * CFW.oStr.fnNub2Str(iInputs);
- * </pre>
- */
- fnNub2Str : function (iInputs) {
- //由于入参可能不是数字型也调用此方法,暂时不判断是否为数值型
- return("" + iInputs + "");
- },
- /**
- * 全角转半角,返回转换后的字符串
- * 主要是将传入的字符串入参中的全角输入法下输入的字母、数字等全部转换为半角字符
- * @param String sInputs (必需)字符类型入参
- * @return String 转换后的字符串
- * <pre>
- * 使用举例:
- * var _iInputs = "0123ABC";
- * CFW.oStr.fnQj2Bj(_iInputs);
- * </pre>
- */
- fnQj2Bj : function (sInputs) {
- //全角字符
- var qj = new Array('0','1','2','3','4','5','6','7','8','9','`','~',
- '=','+','-','_','(',')','×','&','……','%','¥','#','@','!',
- '<','>','?',':','"',',','.','、',';','【','】','{','}','|',
- 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
- 'Q','R','S','T','U','V','W','X','Y','Z'
- ,'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p',
- 'q','r','s','t','u','v','w','x','y','z');
- //半角字符
- var bj = new Array('0','1','2','3','4','5','6','7','8','9','`','~',
- '=','+','-','_','(',')','*','&','^','%','$','#','@','!',
- '<','>','?',':','"',',','.','/',';','[',']','{','}','|',
- 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
- 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'
- );
- var newStr = "";
- //循环获取入参的每个字符
- for(var i = 0 ; i < sInputs.length ; i++){
- var ch = sInputs.charAt(i);
- var isQj = false;
- //循环比较,是否为全角字符
- for(var j = 0 ; j < qj.length ; j++){
- //若为全角字符,则替换
- if(qj[j] == ch){
- newStr += bj[j];
- isQj = true;
- break;
- }
- }
- //若不为全角字符,还使用原字符
- if(!isQj){
- newStr += ch;
- }
- }
- //如果没有输入全角字符,也应该输出
- return newStr;
- },
-
- /**
- * 替代字符
- * 主要是将字符串中需要替代的子字符串替换为指定的子字符串,并可传入大小写敏感标志以及整字代替标志
- * @param String sSrc (必需) 目标String
- * @param String sOldSub (必需) 欲替代的子字符串
- * @param String sNewSub (必需) 替代成为的子字符串
- * @param boolean bCaseSens 大小写是否敏感
- * @param boolean bwordOnly 是否整字代替
- * @return String 替代字符后的字符串
- * <pre>
- * 使用举例:
- * var _sSrc = "替代字符ABC";
- * var _sOldSub = "ABC";
- * var _sNewSub = "abc";
- * CFW.oStr.fnReplace(_sSrc,sOldSub,sNewSub,bCaseSens,bwordOnly);
- * </pre>
- */
- fnReplace : function (sSrc,sOldSub,sNewSub,bCaseSens,bwordOnly) {
- var wk ;
- var ind = 0;
- var next = 0;
- wk = sSrc+"";
- if(CFW.oValid.fnIsNull(sSrc,"CFW.oStr.fnReplace 目标字符串")){
- return '';
- }
- if(CFW.oValid.fnIsNull(sOldSub,"CFW.oStr.fnReplace 欲替代的子字符串")){
- return '';
- }
- //若大小写不敏感,替换字符串和被替换字符串,小写处理
- if (!bCaseSens)
- {
- sOldSub = sOldSub.toLowerCase();
- wk = sSrc.toLowerCase();
- }
- //循环获取替换字符串中,下一个被替换子字符串的位置,进行替换
- while ((ind = wk.indexOf(sOldSub,next)) >= 0)
- {
- //如果整字替换
- if (bwordOnly)
- {
- var before = ind - 1;
- var after = ind + sOldSub.length;
- //charAt() 方法可返回指定位置的字符
- //如果找到的字符串前后都为空格(此处为空不为非法),才能替换
- if (!(CFW.oValid.fnIsNull(wk.charAt(before)) && CFW.oValid.fnIsNull(wk.charAt(after))))
- {
- next = ind + sOldSub.length;
- continue;
- }
- }
- //其前段+替换字符串+其后段
- sSrc = sSrc.substring(0,ind) + sNewSub + sSrc.substring(ind+sOldSub.length,sSrc.length);
- wk = wk.substring(0,ind) + sNewSub + wk.substring(ind+sOldSub.length,wk.length);
- //下次开始位置:本次位置+替换字符串长度
- next = ind + sNewSub.length;
- //如果已完成循环,则退出
- if (next >= wk.length)
- {
- break;
- }
- }
- return sSrc;
- },
-
- /**
- * 返回字符串的比特长度
- * 主要是计算字符串的字节长度并返回
- * @param String sInputs (非必需)目标String
- * @return int 字符串的比特长度
- * <pre>
- * 使用举例:
- * var _sInputs = "字符串ABC";
- * CFW.oStr.fnLengthB(_sInputs);
- * </pre>
- */
- fnLengthB : function (sInputs) {
- if(sInputs == null || sInputs == "") return 0;
- var len = 0;
- for(var i = 0; i < sInputs.length; i++){
- var t = sInputs.substring(i,i+1);
- var c=t.charCodeAt(0) ;
- //单字节加1
- if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
- len++;
- }else {
- len+=2;
- }
- }
- return len;
- },
-
- /**
- * 获取中文字符串的拼音首字母
- * 主要是获取传入的字符串中的中文字符串,如果传入的字符串中有中文之外的字符则返回字符本身
- * @param String sInputs (必需)目标String
- * @return String 获取到的拼音首字母字符串
- * <pre>
- * 使用举例:
- * var _sInputs = "字符串1";
- * CFW.oStr.fnGetChFirstLetter(_sInputs);
- * </pre>
- */
- fnGetChFirstLetter : function (sInputs) {
- if(!sInputs || sInputs.length==0) return "";
- var CH2EN = "YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJHHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMYZZSECYKYYHQWJSSGGYXYZYJWWKDJHYCHMYXJTLXJYQBYXZLDWRDJRWYSRLDZJPCBZJJBRCFTLECZSTZFXXZHTRQHYBDLYCZSSYMMRFMYQZPWWJJYFCRWFDFZQPYDDWYXKYJAWJFFXYPSFTZYHHYZYSWCJYXSCLCXXWZZXNBGNNXBXLZSZSBSGPYSYZDHMDZBQBZCWDZZYYTZHBTSYYBZGNTNXQYWQSKBPHHLXGYBFMJEBJHHGQTJCYSXSTKZHLYCKGLYSMZXYALMELDCCXGZYRJXSDLTYZCQKCNNJWHJTZZCQLJSTSTBNXBTYXCEQXGKWJYFLZQLYHYXSPSFXLMPBYSXXXYDJCZYLLLSJXFHJXPJBTFFYABYXBHZZBJYZLWLCZGGBTSSMDTJZXPTHYQTGLJSCQFZKJZJQNLZWLSLHDZBWJNCJZYZSQQYCQYRZCJJWYBRTWPYFTWEXCSKDZCTBZHYZZYYJXZCFFZZMJYXXSDZZOTTBZLQWFCKSZSXFYRLNYJMBDTHJXSQQCCSBXYYTSYFBXDZTGBCNSLCYZZPSAZYZZSCJCSHZQYDXLBPJLLMQXTYDZXSQJTZPXLCGLQTZWJBHCTSYJSFXYEJJTLBGXSXJMYJQQPFZASYJNTYDJXKJCDJSZCBARTDCLYJQMWNQNCLLLKBYBZZSYHQQLTWLCCXTXLLZNTYLNEWYZYXCZXXGRKRMTCNDNJTSYYSSDQDGHSDBJGHRWRQLYBGLXHLGTGXBQJDZPYJSJYJCTMRNYMGRZJCZGJMZMGXMPRYXKJNYMSGMZJYMKMFXMLDTGFBHCJHKYLPFMDXLQJJSMTQGZSJLQDLDGJYCALCMZCSDJLLNXDJFFFFJCZFMZFFPFKHKGDPSXKTACJDHHZDDCRRCFQYJKQCCWJDXHWJLYLLZGCFCQDSMLZPBJJPLSBCJGGDCKKDEZSQCCKJGCGKDJTJDLZYCXKLQSCGJCLTFPCQCZGWPJDQYZJJBYJHSJDZWGFSJGZKQCCZLLPSPKJGQJHZZLJPLGJGJJTHJJYJZCZMLZLYQBGJWMLJKXZDZNJQSYZMLJLLJKYWXMKJLHSKJGBMCLYYMKXJQLBMLLKMDXXKWYXYSLMLPSJQQJQXYXFJTJDXMXXLLCXQBSYJBGWYMBGGBCYXPJYGPEPFGDJGBHBNSQJYZJKJKHXQFGQZKFHYGKHDKLLSDJQXPQYKYBNQSXQNSZSWHBSXWHXWBZZXDMNSJBSBKBBZKLYLXGWXDRWYQZMYWSJQLCJXXJXKJEQXSCYETLZHLYYYSDZPAQYZCMTLSHTZCFYZYXYLJSDCJQAGYSLCQLYYYSHMRQQKLDXZSCSSSYDYCJYSFSJBFRSSZQSBXXPXJYSDRCKGJLGDKZJZBDKTCSYQPYHSTCLDJDHMXMCGXYZHJDDTMHLTXZXYLYMOHYJCLTYFBQQXPFBDFHHTKSQHZYYWCNXXCRWHOWGYJLEGWDQCWGFJYCSNTMYTOLBYGWQWESJPWNMLRYDZSZTXYQPZGCWXHNGPYXSHMYQJXZTDPPBFYHZHTJYFDZWKGKZBLDNTSXHQEEGZZYLZMMZYJZGXZXKHKSTXNXXWYLYAPSTHXDWHZYMPXAGKYDXBHNHXKDPJNMYHYLPMGOCSLNZHKXXLPZZLBMLSFBHHGYGYYGGBHSCYAQTYWLXTZQCEZYDQDQMMHTKLLSZHLSJZWFYHQSWSCWLQAZYNYTLSXTHAZNKZZSZZLAXXZWWCTGQQTDDYZTCCHYQZFLXPSLZYGPZSZNGLNDQTBDLXGTCTAJDKYWNSYZLJHHZZCWNYYZYWMHYCHHYXHJKZWSXHZYXLYSKQYSPSLYZWMYPPKBYGLKZHTYXAXQSYSHXASMCHKDSCRSWJPWXSGZJLWWSCHSJHSQNHCSEGNDAQTBAALZZMSSTDQJCJKTSCJAXPLGGXHHGXXZCXPDMMHLDGTYBYSJMXHMRCPXXJZCKZXSHMLQXXTTHXWZFKHCCZDYTCJYXQHLXDHYPJQXYLSYYDZOZJNYXQEZYSQYAYXWYPDGXDDXSPPYZNDLTWRHXYDXZZJHTCXMCZLHPYYYYMHZLLHNXMYLLLMDCPPXHMXDKYCYRDLTXJCHHZZXZLCCLYLNZSHZJZZLNNRLWHYQSNJHXYNTTTKYJPYCHHYEGKCTTWLGQRLGGTGTYGYHPYHYLQYQGCWYQKPYYYTTTTLHYHLLTYTTSPLKYZXGZWGPYDSSZZDQXSKCQNMJJZZBXYQMJRTFFBTKHZKBXLJJKDXJTLBWFZPPTKQTZTGPDGNTPJYFALQMKGXBDCLZFHZCLLLLADPMXDJHLCCLGYHDZFGYDDGCYYFGYDXKSSEBDHYKDKDKHNAXXYBPBYYHXZQGAFFQYJXDMLJCSQZLLPCHBSXGJYNDYBYQSPZWJLZKSDDTACTBXZDYZYPJZQSJNKKTKNJDJGYYPGTLFYQKASDNTCYHBLWDZHBBYDWJRYGKZYHEYYFJMSDTYFZJJHGCXPLXHLDWXXJKYTCYKSSSMTWCTTQZLPBSZDZWZXGZAGYKTYWXLHLSPBCLLOQMMZSSLCMBJCSZZKYDCZJGQQDSMCYTZQQLWZQZXSSFPTTFQMDDZDSHDTDWFHTDYZJYQJQKYPBDJYYXTLJHDRQXXXHAYDHRJLKLYTWHLLRLLRCXYLBWSRSZZSYMKZZHHKYHXKSMDSYDYCJPBZBSQLFCXXXNXKXWYWSDZYQOGGQMMYHCDZTTFJYYBGSTTTYBYKJDHKYXBELHTYPJQNFXFDYKZHQKZBYJTZBXHFDXKDASWTAWAJLDYJSFHBLDNNTNQJTJNCHXFJSRFWHZFMDRYJYJWZPDJKZYJYMPCYZNYNXFBYTFYFWYGDBNZZZDNYTXZEMMQBSQEHXFZMBMFLZZSRXYMJGSXWZJSPRYDJSJGXHJJGLJJYNZZJXHGXKYMLPYYYCXYTWQZSWHWLYRJLPXSLSXMFSWWKLCTNXNYNPSJSZHDZEPTXMYYWXYYSYWLXJQZQXZDCLEEELMCPJPCLWBXSQHFWWTFFJTNQJHJQDXHWLBYZNFJLALKYYJLDXHHYCSTYYWNRJYXYWTRMDRQHWQCMFJDYZMHMYYXJWMYZQZXTLMRSPWWCHAQBXYGZYPXYYRRCLMPYMGKSJSZYSRMYJSNXTPLNBAPPYPYLXYYZKYNLDZYJZCZNNLMZHHARQMPGWQTZMXXMLLHGDZXYHXKYXYCJMFFYYHJFSBSSQLXXNDYCANNMTCJCYPRRNYTYQNYYMBMSXNDLYLYSLJRLXYSXQMLLYZLZJJJKYZZCSFBZXXMSTBJGNXYZHLXNMCWSCYZYFZLXBRNNNYLBNRTGZQYSATSWRYHYJZMZDHZGZDWYBSSCSKXSYHYTXXGCQGXZZSHYXJSCRHMKKBXCZJYJYMKQHZJFNBHMQHYSNJNZYBKNQMCLGQHWLZNZSWXKHLJHYYBQLBFCDSXDLDSPFZPSKJYZWZXZDDXJSMMEGJSCSSMGCLXXKYYYLNYPWWWGYDKZJGGGZGGSYCKNJWNJPCXBJJTQTJWDSSPJXZXNZXUMELPXFSXTLLXCLJXJJLJZXCTPSWXLYDHLYQRWHSYCSQYYBYAYWJJJQFWQCQQCJQGXALDBZZYJGKGXPLTZYFXJLTPADKYQHPMATLCPDCKBMTXYBHKLENXDLEEGQDYMSAWHZMLJTWYGXLYQZLJEEYYBQQFFNLYXRDSCTGJGXYYNKLLYQKCCTLHJLQMKKZGCYYGLLLJDZGYDHZWXPYSJBZKDZGYZZHYWYFQYTYZSZYEZZLYMHJJHTSMQWYZLKYYWZCSRKQYTLTDXWCTYJKLWSQZWBDCQYNCJSRSZJLKCDCDTLZZZACQQZZDDXYPLXZBQJYLZLLLQDDZQJYJYJZYXNYYYNYJXKXDAZWYRDLJYYYRJLXLLDYXJCYWYWNQCCLDDNYYYNYCKCZHXXCCLGZQJGKWPPCQQJYSBZZXYJSQPXJPZBSBDSFNSFPZXHDWZTDWPPTFLZZBZDMYYPQJRSDZSQZSQXBDGCPZSWDWCSQZGMDHZXMWWFYBPDGPHTMJTHZSMMBGZMBZJCFZWFZBBZMQCFMBDMCJXLGPNJBBXGYHYYJGPTZGZMQBQTCGYXJXLWZKYDPDYMGCFTPFXYZTZXDZXTGKMTYBBCLBJASKYTSSQYYMSZXFJEWLXLLSZBQJJJAKLYLXLYCCTSXMCWFKKKBSXLLLLJYXTYLTJYYTDPJHNHNNKBYQNFQYYZBYYESSESSGDYHFHWTCJBSDZZTFDMXHCNJZYMQWSRYJDZJQPDQBBSTJGGFBKJBXTGQHNGWJXJGDLLTHZHHYYYYYYSXWTYYYCCBDBPYPZYCCZYJPZYWCBDLFWZCWJDXXHYHLHWZZXJTCZLCDPXUJCZZZLYXJJTXPHFXWPYWXZPTDZZBDZCYHJHMLXBQXSBYLRDTGJRRCTTTHYTCZWMXFYTWWZCWJWXJYWCSKYBZSCCTZQNHXNWXXKHKFHTSWOCCJYBCMPZZYKBNNZPBZHHZDLSYDDYTYFJPXYNGFXBYQXCBHXCPSXTYZDMKYSNXSXLHKMZXLYHDHKWHXXSSKQYHHCJYXGLHZXCSNHEKDTGZXQYPKDHEXTYKCNYMYYYPKQYYYKXZLTHJQTBYQHXBMYHSQCKWWYLLHCYYLNNEQXQWMCFBDCCMLJGGXDQKTLXKGNQCDGZJWYJJLYHHQTTTNWCHMXCXWHWSZJYDJCCDBQCDGDNYXZTHCQRXCBHZTQCBXWGQWYYBXHMBYMYQTYEXMQKYAQYRGYZSLFYKKQHYSSQYSHJGJCNXKZYCXSBXYXHYYLSTYCXQTHYSMGSCPMMGCCCCCMTZTASMGQZJHKLOSQYLSWTMXSYQKDZLJQQYPLSYCZTCQQPBBQJZCLPKHQZYYXXDTDDTSJCXFFLLCHQXMJLWCJCXTSPYCXNDTJSHJWXDQQJSKXYAMYLSJHMLALYKXCYYDMNMDQMXMCZNNCYBZKKYFLMCHCMLHXRCJJHSYLNMTJZGZGYWJXSRXCWJGJQHQZDQJDCJJZKJKGDZQGJJYJYLXZXXCDQHHHEYTMHLFSBDJSYYSHFYSTCZQLPBDRFRZTZYKYWHSZYQKWDQZRKMSYNBCRXQBJYFAZPZZEDZCJYWBCJWHYJBQSZYWRYSZPTDKZPFPBNZTKLQYHBBZPNPPTYZZYBQNYDCPJMMCYCQMCYFZZDCMNLFPBPLNGQJTBTTNJZPZBBZNJKLJQYLNBZQHKSJZNGGQSZZKYXSHPZSNBCGZKDDZQANZHJKDRTLZLSWJLJZLYWTJNDJZJHXYAYNCBGTZCSSQMNJPJYTYSWXZFKWJQTKHTZPLBHSNJZSYZBWZZZZLSYLSBJHDWWQPSLMMFBJDWAQYZTCJTBNNWZXQXCDSLQGDSDPDZHJTQQPSWLYYJZLGYXYZLCTCBJTKTYCZJTQKBSJLGMGZDMCSGPYNJZYQYYKNXRPWSZXMTNCSZZYXYBYHYZAXYWQCJTLLCKJJTJHGDXDXYQYZZBYWDLWQCGLZGJGQRQZCZSSBCRPCSKYDZNXJSQGXSSJMYDNSTZTPBDLTKZWXQWQTZEXNQCZGWEZKSSBYBRTSSSLCCGBPSZQSZLCCGLLLZXHZQTHCZMQGYZQZNMCOCSZJMMZSQPJYGQLJYJPPLDXRGZYXCCSXHSHGTZNLZWZKJCXTCFCJXLBMQBCZZWPQDNHXLJCTHYZLGYLNLSZZPCXDSCQQHJQKSXZPBAJYEMSMJTZDXLCJYRYYNWJBNGZZTMJXLTBSLYRZPYLSSCNXPHLLHYLLQQZQLXYMRSYCXZLMMCZLTZSDWTJJLLNZGGQXPFSKYGYGHBFZPDKMWGHCXMSGDXJMCJZDYCABXJDLNBCDQYGSKYDQTXDJJYXMSZQAZDZFSLQXYJSJZYLBTXXWXQQZBJZUFBBLYLWDSLJHXJYZJWTDJCZFQZQZZDZSXZZQLZCDZFJHYSPYMPQZMLPPLFFXJJNZZYLSJEYQZFPFZKSYWJJJHRDJZZXTXXGLGHYDXCSKYSWMMZCWYBAZBJKSHFHJCXMHFQHYXXYZFTSJYZFXYXPZLCHMZMBXHZZSXYFYMNCWDABAZLXKTCSHHXKXJJZJSTHYGXSXYYHHHJWXKZXSSBZZWHHHCWTZZZPJXSNXQQJGZYZYWLLCWXZFXXYXYHXMKYYSWSQMNLNAYCYSPMJKHWCQHYLAJJMZXHMMCNZHBHXCLXTJPLTXYJHDYYLTTXFSZHYXXSJBJYAYRSMXYPLCKDUYHLXRLNLLSTYZYYQYGYHHSCCSMZCTZQXKYQFPYYRPFFLKQUNTSZLLZMWWTCQQYZWTLLMLMPWMBZSSTZRBPDDTLQJJBXZCSRZQQYGWCSXFWZLXCCRSZDZMCYGGDZQSGTJSWLJMYMMZYHFBJDGYXCCPSHXNZCSBSJYJGJMPPWAFFYFNXHYZXZYLREMZGZCYZSSZDLLJCSQFNXZKPTXZGXJJGFMYYYSNBTYLBNLHPFZDCYFBMGQRRSSSZXYSGTZRNYDZZCDGPJAFJFZKNZBLCZSZPSGCYCJSZLMLRSZBZZLDLSLLYSXSQZQLYXZLSKKBRXBRBZCYCXZZZEEYFGKLZLYYHGZSGZLFJHGTGWKRAAJYZKZQTSSHJJXDCYZUYJLZYRZDQQHGJZXSSZBYKJPBFRTJXLLFQWJHYLQTYMBLPZDXTZYGBDHZZRBGXHWNJTJXLKSCFSMWLSDQYSJTXKZSCFWJLBXFTZLLJZLLQBLSQMQQCGCZFPBPHZCZJLPYYGGDTGWDCFCZQYYYQYSSCLXZSKLZZZGFFCQNWGLHQYZJJCZLQZZYJPJZZBPDCCMHJGXDQDGDLZQMFGPSYTSDYFWWDJZJYSXYYCZCYHZWPBYKXRYLYBHKJKSFXTZJMMCKHLLTNYYMSYXYZPYJQYCSYCWMTJJKQYRHLLQXPSGTLYYCLJSCPXJYZFNMLRGJJTYZBXYZMSJYJHHFZQMSYXRSZCWTLRTQZSSTKXGQKGSPTGCZNJSJCQCXHMXGGZTQYDJKZDLBZSXJLHYQGGGTHQSZPYHJHHGYYGKGGCWJZZYLCZLXQSFTGZSLLLMLJSKCTBLLZZSZMMNYTPZSXQHJCJYQXYZXZQZCPSHKZZYSXCDFGMWQRLLQXRFZTLYSTCTMJCXJJXHJNXTNRZTZFQYHQGLLGCXSZSJDJLJCYDSJTLNYXHSZXCGJZYQPYLFHDJSBPCCZHJJJQZJQDYBSSLLCMYTTMQTBHJQNNYGKYRQYQMZGCJKPDCGMYZHQLLSLLCLMHOLZGDYYFZSLJCQZLYLZQJESHNYLLJXGJXLYSYYYXNBZLJSSZCQQCJYLLZLTJYLLZLLBNYLGQCHXYYXOXCXQKYJXXXYKLXSXXYQXCYKQXQCSGYXXYQXYGYTQOHXHXPYXXXULCYEYCHZZCBWQBBWJQZSCSZSSLZYLKDESJZWMYMCYTSDSXXSCJPQQSQYLYYZYCMDJDZYWCBTJSYDJKCYDDJLBDJJSODZYSYXQQYXDHHGQQYQHDYXWGMMMAJDYBBBPPBCMUUPLJZSMTXERXJMHQNUTPJDCBSSMSSSTKJTSSMMTRCPLZSZMLQDSDMJMQPNQDXCFYNBFSDQXYXHYAYKQYDDLQYYYSSZBYDSLNTFQTZQPZMCHDHCZCWFDXTMYQSPHQYYXSRGJCWTJTZZQMGWJJTJHTQJBBHWZPXXHYQFXXQYWYYHYSCDYDHHQMNMTMWCPBSZPPZZGLMZFOLLCFWHMMSJZTTDHZZYFFYTZZGZYSKYJXQYJZQBHMBZZLYGHGFMSHPZFZSNCLPBQSNJXZSLXXFPMTYJYGBXLLDLXPZJYZJYHHZCYWHJYLSJEXFSZZYWXKZJLUYDTMLYMQJPWXYHXSKTQJEZRPXXZHHMHWQPWQLYJJQJJZSZCPHJLCHHNXJLQWZJHBMZYXBDHHYPZLHLHLGFWLCHYYTLHJXCJMSCPXSTKPNHQXSRTYXXTESYJCTLSSLSTDLLLWWYHDHRJZSFGXTSYCZYNYHTDHWJSLHTZDQDJZXXQHGYLTZPHCSQFCLNJTCLZPFSTPDYNYLGMJLLYCQHYSSHCHYLHQYQTMZYPBYWRFQYKQSYSLZDQJMPXYYSSRHZJNYWTQDFZBWWTWWRXCWHGYHXMKMYYYQMSMZHNGCEPMLQQMTCWCTMMPXJPJJHFXYYZSXZHTYBMSTSYJTTQQQYYLHYNPYQZLCYZHZWSMYLKFJXLWGXYPJYTYSYXYMZCKTTWLKSMZSYLMPWLZWXWQZSSAQSYXYRHSSNTSRAPXCPWCMGDXHXZDZYFJHGZTTSBJHGYZSZYSMYCLLLXBTYXHBBZJKSSDMALXHYCFYGMQYPJYCQXJLLLJGSLZGQLYCJCCZOTYXMTMTTLLWTGPXYMZMKLPSZZZXHKQYSXCTYJZYHXSHYXZKXLZWPSQPYHJWPJPWXQQYLXSDHMRSLZZYZWTTCYXYSZZSHBSCCSTPLWSSCJCHNLCGCHSSPHYLHFHHXJSXYLLNYLSZDHZXYLSXLWZYKCLDYAXZCMDDYSPJTQJZLNWQPSSSWCTSTSZLBLNXSMNYYMJQBQHRZWTYYDCHQLXKPZWBGQYBKFCMZWPZLLYYLSZYDWHXPSBCMLJBSCGBHXLQHYRLJXYSWXWXZSLDFHLSLYNJLZYFLYJYCDRJLFSYZFSLLCQYQFGJYHYXZLYLMSTDJCYHBZLLNWLXXYGYYHSMGDHXXHHLZZJZXCZZZCYQZFNGWPYLCPKPYYPMCLQKDGXZGGWQBDXZZKZFBXXLZXJTPJPTTBYTSZZDWSLCHZHSLTYXHQLHYXXXYYZYSWTXZKHLXZXZPYHGCHKCFSYHUTJRLXFJXPTZTWHPLYXFCRHXSHXKYXXYHZQDXQWULHYHMJTBFLKHTXCWHJFWJCFPQRYQXCYYYQYGRPYWSGSUNGWCHKZDXYFLXXHJJBYZWTSXXNCYJJYMSWZJQRMHXZWFQSYLZJZGBHYNSLBGTTCSYBYXXWXYHXYYXNSQYXMQYWRGYQLXBBZLJSYLPSYTJZYHYZAWLRORJMKSCZJXXXYXCHDYXRYXXJDTSQFXLYLTSFFYXLMTYJMJUYYYXLTZCSXQZQHZXLYYXZHDNBRXXXJCTYHLBRLMBRLLAXKYLLLJLYXXLYCRYLCJTGJCMTLZLLCYZZPZPCYAWHJJFYBDYYZSMPCKZDQYQPBPCJPDCYZMDPBCYYDYCNNPLMTMLRMFMMGWYZBSJGYGSMZQQQZTXMKQWGXLLPJGZBQCDJJJFPKJKCXBLJMSWMDTQJXLDLPPBXCWRCQFBFQJCZAHZGMYKPHYYHZYKNDKZMBPJYXPXYHLFPNYYGXJDBKXNXHJMZJXSTRSTLDXSKZYSYBZXJLXYSLBZYSLHXJPFXPQNBYLLJQKYGZMCYZZYMCCSLCLHZFWFWYXZMWSXTYNXJHPYYMCYSPMHYSMYDYSHQYZCHMJJMZCAAGCFJBBHPLYZYLXXSDJGXDHKXXTXXNBHRMLYJSLTXMRHNLXQJXYZLLYSWQGDLBJHDCGJYQYCMHWFMJYBMBYJYJWYMDPWHXQLDYGPDFXXBCGJSPCKRSSYZJMSLBZZJFLJJJLGXZGYXYXLSZQYXBEXYXHGCXBPLDYHWETTWWCJMBTXCHXYQXLLXFLYXLLJLSSFWDPZSMYJCLMWYTCZPCHQEKCQBWLCQYDPLQPPQZQFJQDJHYMMCXTXDRMJWRHXCJZYLQXDYYNHYYHRSLSRSYWWZJYMTLTLLGTQCJZYABTCKZCJYCCQLJZQXALMZYHYWLWDXZXQDLLQSHGPJFJLJHJABCQZDJGTKHSSTCYJLPSWZLXZXRWGLDLZRLZXTGSLLLLZLYXXWGDZYGBDPHZPBRLWSXQBPFDWOFMWHLYPCBJCCLDMBZPBZZLCYQXLDOMZBLZWPDWYYGDSTTHCSQSCCRSSSYSLFYBFNTYJSZDFNDPDHDZZMBBLSLCMYFFGTJJQWFTMTPJWFNLBZCMMJTGBDZLQLPYFHYYMJYLSDCHDZJWJCCTLJCLDTLJJCPDDSQDSSZYBNDBJLGGJZXSXNLYCYBJXQYCBYLZCFZPPGKCXZDZFZTJJFJSJXZBNZYJQTTYJYHTYCZHYMDJXTTMPXSPLZCDWSLSHXYPZGTFMLCJTYCBPMGDKWYCYZCDSZZYHFLYCTYGWHKJYYLSJCXGYWJCBLLCSNDDBTZBSCLYZCZZSSQDLLMQYYHFSLQLLXFTYHABXGWNYWYYPLLSDLDLLBJCYXJZMLHLJDXYYQYTDLLLBUGBFDFBBQJZZMDPJHGCLGMJJPGAEHHBWCQXAXHHHZCHXYPHJAXHLPHJPGPZJQCQZGJJZZUZDMQYYBZZPHYHYBWHAZYJHYKFGDPFQSDLZMLJXKXGALXZDAGLMDGXMWZQYXXDXXPFDMMSSYMPFMDMMKXKSYZYSHDZKXSYSMMZZZMSYDNZZCZXFPLSTMZDNMXCKJMZTYYMZMZZMSXHHDCZJEMXXKLJSTLWLSQLYJZLLZJSSDPPMHNLZJCZYHMXXHGZCJMDHXTKGRMXFWMCGMWKDTKSXQMMMFZZYDKMSCLCMPCGMHSPXQPZDSSLCXKYXTWLWJYAHZJGZQMCSNXYYMMPMLKJXMHLMLQMXCTKZMJQYSZJSYSZHSYJZJCDAJZYBSDQJZGWZQQXFKDMSDJLFWEHKZQKJPEYPZYSZCDWYJFFMZZYLTTDZZEFMZLBNPPLPLPEPSZALLTYLKCKQZKGENQLWAGYXYDPXLHSXQQWQCQXQCLHYXXMLYCCWLYMQYSKGCHLCJNSZKPYZKCQZQLJPDMDZHLASXLBYDWQLWDNBQCRYDDZTJYBKBWSZDXDTNPJDTCTQDFXQQMGNXECLTTBKPWSLCTYQLPWYZZKLPYGZCQQPLLKCCYLPQMZCZQCLJSLQZDJXLDDHPZQDLJJXZQDXYZQKZLJCYQDYJPPYPQYKJYRMPCBYMCXKLLZLLFQPYLLLMBSGLCYSSLRSYSQTMXYXZQZFDZUYSYZTFFMZZSMZQHZSSCCMLYXWTPZGXZJGZGSJSGKDDHTQGGZLLBJDZLCBCHYXYZHZFYWXYZYMSDBZZYJGTSMTFXQYXQSTDGSLNXDLRYZZLRYYLXQHTXSRTZNGZXBNQQZFMYKMZJBZYMKBPNLYZPBLMCNQYZZZSJZHJCTZKHYZZJRDYZHNPXGLFZTLKGJTCTSSYLLGZRZBBQZZKLPKLCZYSSUYXBJFPNJZZXCDWXZYJXZZDJJKGGRSRJKMSMZJLSJYWQSKYHQJSXPJZZZLSNSHRNYPZTWCHKLPSRZLZXYJQXQKYSJYCZTLQZYBBYBWZPQDWWYZCYTJCJXCKCWDKKZXSGKDZXWWYYJQYYTCYTDLLXWKCZKKLCCLZCQQDZLQLCSFQCHQHSFSMQZZLNBJJZBSJHTSZDYSJQJPDLZCDCWJKJZZLPYCGMZWDJJBSJQZSYZYHHXJPBJYDSSXDZNCGLQMBTSFSBPDZDLZNFGFJGFSMPXJQLMBLGQCYYXBQKDJJQYRFKZTJDHCZKLBSDZCFJTPLLJGXHYXZCSSZZXSTJYGKGCKGYOQXJPLZPBPGTGYJZGHZQZZLBJLSQFZGKQQJZGYCZBZQTLDXRJXBSXXPZXHYZYCLWDXJJHXMFDZPFZHQHQMQGKSLYHTYCGFRZGNQXCLPDLBZCSCZQLLJBLHBZCYPZZPPDYMZZSGYHCKCPZJGSLJLNSCDSLDLXBMSTLDDFJMKDJDHZLZXLSZQPQPGJLLYBDSZGQLBZLSLKYYHZTTNTJYQTZZPSZQZTLLJTYYLLQLLQYZQLBDZLSLYYZYMDFSZSNHLXZNCZQZPBWSKRFBSYZMTHBLGJPMCZZLSTLXSHTCSYZLZBLFEQHLXFLCJLYLJQCBZLZJHHSSTBRMHXZHJZCLXFNBGXGTQJCZTMSFZKJMSSNXLJKBHSJXNTNLZDNTLMSJXGZJYJCZXYJYJWRWWQNZTNFJSZPZSHZJFYRDJSFSZJZBJFZQZZHZLXFYSBZQLZSGYFTZDCSZXZJBQMSZKJRHYJZCKMJKHCHGTXKXQGLXPXFXTRTYLXJXHDTSJXHJZJXZWZLCQSBTXWXGXTXXHXFTSDKFJHZYJFJXRZSDLLLTQSQQZQWZXSYQTWGWBZCGZLLYZBCLMQQTZHZXZXLJFRMYZFLXYSQXXJKXRMQDZDMMYYBSQBHGZMWFWXGMXLZPYYTGZYCCDXYZXYWGSYJYZNBHPZJSQSYXSXRTFYZGRHZTXSZZTHCBFCLSYXZLZQMZLMPLMXZJXSFLBYZMYQHXJSXRXSQZZZSSLYFRCZJRCRXHHZXQYDYHXSJJHZCXZBTYNSYSXJBQLPXZQPYMLXZKYXLXCJLCYSXXZZLXDLLLJJYHZXGYJWKJRWYHCPSGNRZLFZWFZZNSXGXFLZSXZZZBFCSYJDBRJKRDHHGXJLJJTGXJXXSTJTJXLYXQFCSGSWMSBCTLQZZWLZZKXJMLTMJYHSDDBXGZHDLBMYJFRZFSGCLYJBPMLYSMSXLSZJQQHJZFXGFQFQBPXZGYYQXGZTCQWYLTLGWSGWHRLFSFGZJMGMGBGTJFSYZZGZYZAFLSSPMLPFLCWBJZCLJJMZLPJJLYMQDMYYYFBGYGYZMLYZDXQYXRQQQHSYYYQXYLJTYXFSFSLLGNQCYHYCWFHCCCFXPYLYPLLZYXXXXXKQHHXSHJZCFZSCZJXCPZWHHHHHAPYLQALPQAFYHXDYLUKMZQGGGDDESRNNZLTZGCHYPPYSQJJHCLLJTOLNJPZLJLHYMHEYDYDSQYCDDHGZUNDZCLZYZLLZNTNYZGSLHSLPJJBDGWXPCDUTJCKLKCLWKLLCASSTKZZDNQNTTLYYZSSYSSZZRYLJQKCQDHHCRXRZYDGRGCWCGZQFFFPPJFZYNAKRGYWYQPQXXFKJTSZZXSWZDDFBBXTBGTZKZNPZZPZXZPJSZBMQHKCYXYLDKLJNYPKYGHGDZJXXEAHPNZKZTZCMXCXMMJXNKSZQNMNLWBWWXJKYHCPSTMCSQTZJYXTPCTPDTNNPGLLLZSJLSPBLPLQHDTNJNLYYRSZFFJFQWDPHZDWMRZCCLODAXNSSNYZRESTYJWJYJDBCFXNMWTTBYLWSTSZGYBLJPXGLBOCLHPCBJLTMXZLJYLZXCLTPNCLCKXTPZJSWCYXSFYSZDKNTLBYJCYJLLSTGQCBXRYZXBXKLYLHZLQZLNZCXWJZLJZJNCJHXMNZZGJZZXTZJXYCYYCXXJYYXJJXSSSJSTSSTTPPGQTCSXWZDCSYFPTFBFHFBBLZJCLZZDBXGCXLQPXKFZFLSYLTUWBMQJHSZBMDDBCYSCCLDXYCDDQLYJJWMQLLCSGLJJSYFPYYCCYLTJANTJJPWYCMMGQYYSXDXQMZHSZXPFTWWZQSWQRFKJLZJQQYFBRXJHHFWJJZYQAZMYFRHCYYBYQWLPEXCCZSTYRLTTDMQLYKMBBGMYYJPRKZNPBSXYXBHYZDJDNGHPMFSGMWFZMFQMMBCMZZCJJLCNUXYQLMLRYGQZCYXZLWJGCJCGGMCJNFYZZJHYCPRRCMTZQZXHFQGTJXCCJEAQCRJYHPLQLSZDJRBCQHQDYRHYLYXJSYMHZYDWLDFRYHBPYDTSSCNWBXGLPZMLZZTQSSCPJMXXYCSJYTYCGHYCJWYRXXLFEMWJNMKLLSWTXHYYYNCMMCWJDQDJZGLLJWJRKHPZGGFLCCSCZMCBLTBHBQJXQDSPDJZZGKGLFQYWBZYZJLTSTDHQHCTCBCHFLQMPWDSHYYTQWCNZZJTLBYMBPDYYYXSQKXWYYFLXXNCWCXYPMAELYKKJMZZZBRXYYQJFLJPFHHHYTZZXSGQQMHSPGDZQWBWPJHZJDYSCQWZKTXXSQLZYYMYSDZGRXCKKUJLWPYSYSCSYZLRMLQSYLJXBCXTLWDQZPCYCYKPPPNSXFYZJJRCEMHSZMSXLXGLRWGCSTLRSXBZGBZGZTCPLUJLSLYLYMTXMTZPALZXPXJTJWTCYYZLBLXBZLQMYLXPGHDSLSSDMXMBDZZSXWHAMLCZCPJMCNHJYSNSYGCHSKQMZZQDLLKABLWJXSFMOCDXJRRLYQZKJMYBYQLYHETFJZFRFKSRYXFJTWDSXXSYSQJYSLYXWJHSNLXYYXHBHAWHHJZXWMYLJCSSLKYDZTXBZSYFDXGXZJKHSXXYBSSXDPYNZWRPTQZCZENYGCXQFJYKJBZMLJCMQQXUOXSLYXXLYLLJDZBTYMHPFSTTQQWLHOKYBLZZALZXQLHZWRRQHLSTMYPYXJJXMQSJFNBXYXYJXXYQYLTHYLQYFMLKLJTMLLHSZWKZHLJMLHLJKLJSTLQXYLMBHHLNLZXQJHXCFXXLHYHJJGBYZZKBXSCQDJQDSUJZYYHZHHMGSXCSYMXFEBCQWWRBPYYJQTYZCYQYQQZYHMWFFHGZFRJFCDPXNTQYZPDYKHJLFRZXPPXZDBBGZQSTLGDGYLCQMLCHHMFYWLZYXKJLYPQHSYWMQQGQZMLZJNSQXJQSYJYCBEHSXFSZPXZWFLLBCYYJDYTDTHWZSFJMQQYJLMQXXLLDTTKHHYBFPWTYYSQQWNQWLGWDEBZWCMYGCULKJXTMXMYJSXHYBRWFYMWFRXYQMXYSZTZZTFYKMLDHQDXWYYNLCRYJBLPSXCXYWLSPRRJWXHQYPHTYDNXHHMMYWYTZCSQMTSSCCDALWZTCPQPYJLLQZYJSWXMZZMMYLMXCLMXCZMXMZSQTZPPQQBLPGXQZHFLJJHYTJSRXWZXSCCDLXTYJDCQJXSLQYCLZXLZZXMXQRJMHRHZJBHMFLJLMLCLQNLDXZLLLPYPSYJYSXCQQDCMQJZZXHNPNXZMEKMXHYKYQLXSXTXJYYHWDCWDZHQYYBGYBCYSCFGPSJNZDYZZJZXRZRQJJYMCANYRJTLDPPYZBSTJKXXZYPFDWFGZZRPYMTNGXZQBYXNBUFNQKRJQZMJEGRZGYCLKXZDSKKNSXKCLJSPJYYZLQQJYBZSSQLLLKJXTBKTYLCCDDBLSPPFYLGYDTZJYQGGKQTTFZXBDKTYYHYBBFYTYYBCLPDYTGDHRYRNJSPTCSNYJQHKLLLZSLYDXXWBCJQSPXBPJZJCJDZFFXXBRMLAZHCSNDLBJDSZBLPRZTSWSBXBCLLXXLZDJZSJPYLYXXYFTFFFBHJJXGBYXJPMMMPSSJZJMTLYZJXSWXTYLEDQPJMYGQZJGDJLQJWJQLLSJGJGYGMSCLJJXDTYGJQJQJCJZCJGDZZSXQGSJGGCXHQXSNQLZZBXHSGZXCXYLJXYXYYDFQQJHJFXDHCTXJYRXYSQTJXYEFYYSSYYJXNCYZXFXMSYSZXYYSCHSHXZZZGZZZGFJDLTYLNPZGYJYZYYQZPBXQBDZTZCZYXXYHHSQXSHDHGQHJHGYWSZTMZMLHYXGEBTYLZKQWYTJZRCLEKYSTDBCYKQQSAYXCJXWWGSBHJYZYDHCSJKQCXSWXFLTYNYZPZCCZJQTZWJQDZZZQZLJJXLSBHPYXXPSXSHHEZTXFPTLQYZZXHYTXNCFZYYHXGNXMYWXTZSJPTHHGYMXMXQZXTSBCZYJYXXTYYZYPCQLMMSZMJZZLLZXGXZAAJZYXJMZXWDXZSXZDZXLEYJJZQBHZWZZZQTZPSXZTDSXJJJZNYAZPHXYYSRNQDTHZHYYKYJHDZXZLSWCLYBZYECWCYCRYLCXNHZYDZYDYJDFRJJHTRSQTXYXJRJHOJYNXELXSFSFJZGHPZSXZSZDZCQZBYYKLSGSJHCZSHDGQGXYZGXCHXZJWYQWGYHKSSEQZZNDZFKWYSSTCLZSTSYMCDHJXXYWEYXCZAYDMPXMDSXYBSQMJMZJMTZQLPJYQZCGQHXJHHLXXHLHDLDJQCLDWBSXFZZYYSCHTYTYYBHECXHYKGJPXHHYZJFXHWHBDZFYZBCAPNPGNYDMSXHMMMMAMYNBYJTMPXYYMCTHJBZYFCGTYHWPHFTWZZEZSBZEGPFMTSKFTYCMHFLLHGPZJXZJGZJYXZSBBQSCZZLZCCSTPGXMJSFTCCZJZDJXCYBZLFCJSYZFGSZLYBCWZZBYZDZYPSWYJZXZBDSYUXLZZBZFYGCZXBZHZFTPBGZGEJBSTGKDMFHYZZJHZLLZZGJQZLSFDJSSCBZGPDLFZFZSZYZYZSYGCXSNXXCHCZXTZZLJFZGQSQYXZJQDCCZTQCDXZJYQJQCHXZTDLGSCXZSYQJQTZWLQDQZTQCHQQJZYEZZZPBWKDJFCJPZTYPQYQTTYNLMBDKTJZPQZQZZFPZSBNJLGYJDXJDZZKZGQKXDLPZJTCJDQBXDJQJSTCKNXBXZMSLYJCQMTJQWWCJQNJNLLLHJCWQTBZQYDZCZPZZDZYDDCYZZZCCJTTJFZDPRRTZTJDCQTQZDTJNPLZBCLLCTZSXKJZQZPZLBZRBTJDCXFCZDBCCJJLTQQPLDCGZDBBZJCQDCJWYNLLZYZCCDWLLXWZLXRXNTQQCZXKQLSGDFQTDDGLRLAJJTKUYMKQLLTZYTDYYCZGJWYXDXFRSKSTQTENQMRKQZHHQKDLDAZFKYPBGGPZREBZZYKZZSPEGJXGYKQZZZSLYSYYYZWFQZYLZZLZHWCHKYPQGNPGBLPLRRJYXCCSYYHSFZFYBZYYTGZXYLXCZWXXZJZBLFFLGSKHYJZEYJHLPLLLLCZGXDRZELRHGKLZZYHZLYQSZZJZQLJZFLNBHGWLCZCFJYSPYXZLZLXGCCPZBLLCYBBBBUBBCBPCRNNZCZYRBFSRLDCGQYYQXYGMQZWTZYTYJXYFWTEHZZJYWLCCNTZYJJZDEDPZDZTSYQJHDYMBJNYJZLXTSSTPHNDJXXBYXQTZQDDTJTDYYTGWSCSZQFLSHLGLBCZPHDLYZJYCKWTYTYLBNYTSDSYCCTYSZYYEBHEXHQDTWNYGYCLXTSZYSTQMYGZAZCCSZZDSLZCLZRQXYYELJSBYMXSXZTEMBBLLYYLLYTDQYSHYMRQWKFKBFXNXSBYCHXBWJYHTQBPBSBWDZYLKGZSKYHXQZJXHXJXGNLJKZLYYCDXLFYFGHLJGJYBXQLYBXQPQGZTZPLNCYPXDJYQYDYMRBESJYYHKXXSTMXRCZZYWXYQYBMCLLYZHQYZWQXDBXBZWZMSLPDMYSKFMZKLZCYQYCZLQXFZZYDQZPZYGYJYZMZXDZFYFYTTQTZHGSPCZMLCCYTZXJCYTJMKSLPZHYSNZLLYTPZCTZZCKTXDHXXTQCYFKSMQCCYYAZHTJPCYLZLYJBJXTPNYLJYYNRXSYLMMNXJSMYBCSYSYLZYLXJJQYLDZLPQBFZZBLFNDXQKCZFYWHGQMRDSXYCYTXNQQJZYYPFZXDYZFPRXEJDGYQBXRCNFYYQPGHYJDYZXGRHTKYLNWDZNTSMPKLBTHBPYSZBZTJZSZZJTYYXZPHSSZZBZCZPTQFZMYFLYPYBBJQXZMXXDJMTSYSKKBJZXHJCKLPSMKYJZCXTMLJYXRZZQSLXXQPYZXMKYXXXJCLJPRMYYGADYSKQLSNDHYZKQXZYZTCGHZTLMLWZYBWSYCTBHJHJFCWZTXWYTKZLXQSHLYJZJXTMPLPYCGLTBZZTLZJCYJGDTCLKLPLLQPJMZPAPXYZLKKTKDZCZZBNZDYDYQZJYJGMCTXLTGXSZLMLHBGLKFWNWZHDXUHLFMKYSLGXDTWWFRJEJZTZHYDXYKSHWFZCQSHKTMQQHTZHYMJDJSKHXZJZBZZXYMPAGQMSTPXLSKLZYNWRTSQLSZBPSPSGZWYHTLKSSSWHZZLYYTNXJGMJSZSUFWNLSOZTXGXLSAMMLBWLDSZYLAKQCQCTMYCFJBSLXCLZZCLXXKSBZQCLHJPSQPLSXXCKSLNHPSFQQYTXYJZLQLDXZQJZDYYDJNZPTUZDSKJFSLJHYLZSQZLBTXYDGTQFDBYAZXDZHZJNHHQBYKNXJJQCZMLLJZKSPLDYCLBBLXKLELXJLBQYCXJXGCNLCQPLZLZYJTZLJGYZDZPLTQCSXFDMNYCXGBTJDCZNBGBQYQJWGKFHTNPYQZQGBKPBBYZMTJDYTBLSQMPSXTBNPDXKLEMYYCJYNZCTLDYKZZXDDXHQSHDGMZSJYCCTAYRZLPYLTLKXSLZCGGEXCLFXLKJRTLQJAQZNCMBYDKKCXGLCZJZXJHPTDJJMZQYKQSECQZDSHHADMLZFMMZBGNTJNNLGBYJBRBTMLBYJDZXLCJLPLDLPCQDHLXZLYCBLCXZZJADJLNZMMSSSMYBHBSQKBHRSXXJMXSDZNZPXLGBRHWGGFCXGMSKLLTSJYYCQLTSKYWYYHYWXBXQYWPYWYKQLSQPTNTKHQCWDQKTWPXXHCPTHTWUMSSYHBWCRWXHJMKMZNGWTMLKFGHKJYLSYYCXWHYECLQHKQHTTQKHFZLDXQWYZYYDESBPKYRZPJFYYZJCEQDZZDLATZBBFJLLCXDLMJSSXEGYGSJQXCWBXSSZPDYZCXDNYXPPZYDLYJCZPLTXLSXYZYRXCYYYDYLWWNZSAHJSYQYHGYWWAXTJZDAXYSRLTDPSSYYFNEJDXYZHLXLLLZQZSJNYQYQQXYJGHZGZCYJCHZLYCDSHWSHJZYJXCLLNXZJJYYXNFXMWFPYLCYLLABWDDHWDXJMCXZTZPMLQZHSFHZYNZTLLDYWLSLXHYMMYLMBWWKYXYADTXYLLDJPYBPWUXJMWMLLSAFDLLYFLBHHHBQQLTZJCQJLDJTFFKMMMBYTHYGDCQRDDWRQJXNBYSNWZDBYYTBJHPYBYTTJXAAHGQDQTMYSTQXKBTZPKJLZRBEQQSSMJJBDJOTGTBXPGBKTLHQXJJJCTHXQDWJLWRFWQGWSHCKRYSWGFTGYGBXSDWDWRFHWYTJJXXXJYZYSLPYYYPAYXHYDQKXSHXYXGSKQHYWFDDDPPLCJLQQEEWXKSYYKDYPLTJTHKJLTCYYHHJTTPLTZZCDLTHQKZXQYSTEEYWYYZYXXYYSTTJKLLPZMCYHQGXYHSRMBXPLLNQYDQHXSXXWGDQBSHYLLPJJJTHYJKYPPTHYYKTYEZYENMDSHLCRPQFDGFXZPSFTLJXXJBSWYYSKSFLXLPPLBBBLBSFXFYZBSJSSYLPBBFFFFSSCJDSTZSXZRYYSYFFSYZYZBJTBCTSBSDHRTJJBYTCXYJEYLXCBNEBJDSYXYKGSJZBXBYTFZWGENYHHTHZHHXFWGCSTBGXKLSXYWMTMBYXJSTZSCDYQRCYTWXZFHMYMCXLZNSDJTTTXRYCFYJSBSDYERXJLJXBBDEYNJGHXGCKGSCYMBLXJMSZNSKGXFBNBPTHFJAAFXYXFPXMYPQDTZCXZZPXRSYWZDLYBBKTYQPQJPZYPZJZNJPZJLZZFYSBTTSLMPTZRTDXQSJEHBZYLZDHLJSQMLHTXTJECXSLZZSPKTLZKQQYFSYGYWPCPQFHQHYTQXZKRSGTTSQCZLPTXCDYYZXSQZSLXLZMYCPCQBZYXHBSXLZDLTCDXTYLZJYYZPZYZLTXJSJXHLPMYTXCQRBLZSSFJZZTNJYTXMYJHLHPPLCYXQJQQKZZSCPZKSWALQSBLCCZJSXGWWWYGYKTJBBZTDKHXHKGTGPBKQYSLPXPJCKBMLLXDZSTBKLGGQKQLSBKKTFXRMDKBFTPZFRTBBRFERQGXYJPZSSTLBZTPSZQZSJDHLJQLZBPMSMMSXLQQNHKNBLRDDNXXDHDDJCYYGYLXGZLXSYGMQQGKHBPMXYXLYTQWLWGCPBMQXCYZYDRJBHTDJYHQSHTMJSBYPLWHLZFFNYPMHXXHPLTBQPFBJWQDBYGPNZTPFZJGSDDTQSHZEAWZZYLLTYYBWJKXXGHLFKXDJTMSZSQYNZGGSWQSPHTLSSKMCLZXYSZQZXNCJDQGZDLFNYKLJCJLLZLMZZNHYDSSHTHZZLZZBBHQZWWYCRZHLYQQJBEYFXXXWHSRXWQHWPSLMSSKZTTYGYQQWRSLALHMJTQJSMXQBJJZJXZYZKXBYQXBJXSHZTSFJLXMXZXFGHKZSZGGYLCLSARJYHSLLLMZXELGLXYDJYTLFBHBPNLYZFBBHPTGJKWETZHKJJXZXXGLLJLSTGSHJJYQLQZFKCGNNDJSSZFDBCTWWSEQFHQJBSAQTGYPQLBXBMMYWXGSLZHGLZGQYFLZBYFZJFRYSFMBYZHQGFWZSYFYJJPHZBYYZFFWODGRLMFTWLBZGYCQXCDJYGZYYYYTYTYDWEGAZYHXJLZYYHLRMGRXXZCLHNELJJTJTPWJYBJJBXJJTJTEEKHWSLJPLPSFYZPQQBDLQJJTYYQLYZKDKSQJYYQZLDQTGJQYZJSUCMRYQTHTEJMFCTYHYPKMHYZWJDQFHYYXWSHCTXRLJHQXHCCYYYJLTKTTYTMXGTCJTZAYYOCZLYLBSZYWJYTSJYHBYSHFJLYGJXXTMZYYLTXXYPZLXYJZYZYYPNHMYMDYYLBLHLSYYQQLLNJJYMSOYQBZGDLYXYLCQYXTSZEGXHZGLHWBLJHEYXTWQMAKBPQCGYSHHEGQCMWYYWLJYJHYYZLLJJYLHZYHMGSLJLJXCJJYCLYCJPCPZJZJMMYLCQLNQLJQJSXYJMLSZLJQLYCMMHCFMMFPQQMFYLQMCFFQMMMMHMZNFHHJGTTHHKHSLNCHHYQDXTMMQDCYZYXYQMYQYLTDCYYYZAZZCYMZYDLZFFFMMYCQZWZZMABTBYZTDMNZZGGDFTYPCGQYTTSSFFWFDTZQSSYSTWXJHXYTSXXYLBYQHWWKXHZXWZNNZZJZJJQJCCCHYYXBZXZCYZTLLCQXYNJYCYYCYNZZQYYYEWYCZDCJYCCHYJLBTZYYCQWMPWPYMLGKDLDLGKQQBGYCHJXY";
- var py = "";
- for(var i = 0 ; i < sInputs.length ; i++){
- var utfcode = sInputs.charCodeAt(i);
- var ind = utfcode - 19968;
- if(ind<0 || ind>=CH2EN.length){//不是汉字,返回字符本身
- py += sInputs.charAt(i);
- }else{
- py += CH2EN.charAt(ind);
- }
- }
- return py;
- },
-
-
-
- /**
- * 函数用于将list对象中sColNames字段的值包含sOldSub替换为sNewSub
- * @param List lParam (必需):所要处理的list对象
- * @param String sColNames (必需):字段拼串字符串对象,如"AAE005,AAE006"
- * @param String sOldSub (必需):指定字段值包含的字符串,需要替换的字符串
- * @param String sNewSub (必需):替换的字符串,将sOldSub替换成sNewSub
- * <pre>
- * 使用举例:
- * rows = CFW.oStr.fnReplaceListValue(rows,"AAE005,AAE006","XX","YY");//如将rows中的AAE005与AAE006字段中XX
- * 替换成YY
- * </pre>
- */
- fnReplaceListValue : function (lParam,sColNames,sOldSub,sNewSub) {
- //若lParam为空,则不处理
- if(CFW.oValid.fnIsNull(lParam,"CFW.oStr.fnReplaceListValue 所要处理的list对象")){
- return lParam;
- }
- //若sColNames为空,则不处理
- if(CFW.oValid.fnIsNull(sColNames,"CFW.oStr.fnReplaceListValue 字段拼串字符串对象")){
- return lParam;
- }
- var a = sColNames.split(','); //将字符串str转换为数组对象
- var aLen = a.length; //获取数组a的长度
- var rLen = lParam.length; //获取lParam对象的长度
-
- //循环需替换字段
- for(var j = 0 ; j < aLen ; j++){
- for(var i = 0 ; i < rLen ; i++){
- var str =lParam[i][a[j]];
- //运算新对象值
- if(!CFW.oValid.fnIsNull(str)&&!CFW.oValid.fnIsNull(sOldSub)){
- str = eval("'"+str+"'.replace(/" + sOldSub + "/g,'"+ sNewSub+"')") ;
- //eval(tmp);
- }else if(CFW.oValid.fnIsNull(sOldSub)){
- str=sNewSub;
- }
- //设置新对象值
- try{
- lParam[i][a[j]] = str; //将替换后的值重新保存到lParam中
- }catch(e){
- continue;
- }
- }
- }
- return lParam;
- },
-
- /**
- * 函数用于将list对象中sColName字段的值设置为sParam
- * 主要是将传入的list对象中的指定的某个字段的值统一设置为指定的值,并返回此list对象
- * @param List lParam(必需):所要处理的list对象
- * @param String sColNames(必需):字段拼串字符串对象,如"AAE005"
- * @param String sParam(必需):要设定的值
- * @return list 完成值设定后的list对象
- * <pre>
- * 使用举例:
- * rows = CFW.oStr.fnSetListValue(rows,"AAE005","X");//如将rows中的AAE005字段值替换成X
- * </pre>
- */
- fnSetListValue : function (lParam,sColNames,sParam) {
- //若lParam为空,则不处理
- if(CFW.oValid.fnIsNull(lParam,"CFW.oStr.fnSetListValue 所要处理的list对象")){
- return lParam;
- }
- //若sColNames为空,则不处理
- if(CFW.oValid.fnIsNull(sColNames,"CFW.oStr.fnSetListValue 字段拼串字符串对象")){
- return lParam;
- }
- var a = sColNames.split(','); //将字符串str转换为数组对象
- var aLen = a.length; //获取数组a的长度
- var rLen = lParam.length; //获取lParam对象的长度
-
- //循环需替换字段
- for(var j = 0 ; j < aLen ; j++){
- for(var i = 0 ; i < rLen ; i++){
- try{ //替换
- lParam[i][a[j]] = sParam; //给第i行的str1字段赋值sParam
- }catch(e){//可能不存在该对象名
- continue;
- }
- }
- }
- return lParam;
- },
-
- /**
- * 获取单记录表单的所有字段并自动按指定的分隔符拼成串
- * 主要是将传入的单记录表单中所有字段名、字段值按指定的分隔符拼成值串,以便传给后台使用。还可以指定不需要拼接的字段。
- * @param String sFormId (必需)单记录表单的ID
- * @param String sSeparator 分隔符,默认逗号
- * @param Array aNoParam 不需要拼接的字段数组
- * @param Array aNoParam 是否需要过滤为空的字符串
- * @returns String 返还拼接后的串
- * <pre>
- * 使用举例:
- * var _aNoParam = new Array('XB','BZ');//不需要拼接的字段串
- * var _aStr = CFW.oStr.fnSpliceStr('gentbl_test','\x03',_aNoParam); //例子中使用的分隔符为chr(3)
- * </pre>
- */
- fnSpliceStr : function (sFormId,sSeparator,aNoParam,bFlag) {
- var k,i,j = 0,tmp = '';
- var bMark = false;
- var tags = new Array();
- var gtObj = $('#' + sFormId).get(0);//获取单记录表对象
-
- $(':input',gtObj).each(function(){
- //在此处停止,执行下一个循环
- if(this.name == null || this.name == ''){return true;}
- bMark = false;
- //循环排除对象名
- for(k = 0 ; k < aNoParam.length ; k++){
- if(aNoParam[k] == this.name){
- bMark = true;
- break;
- }
- }
- //若不是排除对象,则获取键值对
- if(!bMark){
- if(bFlag){
- if(!CFW.oValid.fnIsNull(this.value)){
- tags[j] = this.name + "=" + this.value;
- j++;
- }
- }else{
- tags[j] = this.name + "=" + this.value;
- j++;
- }
-
- }
- });
- tmp = tags.join(sSeparator);//指定分隔符拼字符串
- return tmp;
- },
-
- /**
- * 组装查询条件函数
- * 主要将传入的单记录表中的字段拼接成SQL语句查询条件串,如果字段需要进行特殊设置,则在sColRow中进行相应的特殊配置。
- * @param String sFormId (必需)单记录表单的配置ID名称
- * @param JSON数组 aColRow (必需)特殊字段的设置的JSON数组,
- * 定义空的数组格式默认为 var row=[]; 若无特殊要求,也可以不必设置,默认为用等号拼接
- * 其中colname,type为必录,若为空或不设置则不执行,还可设置begin、end、exp
- * exp设置为like时,begin和end只能设置为空或%
- * exp不为like时,可用逗号隔开两个符号,如果begin和end有值,则默认exp设置为'<=,>='
- * type目前可支持:NUMBER,STRING,DATE,DATETIME,DATETONUM6,DATETONUM8,DATETONUM14
- * DATE格式为'yyyy-mm-dd',DATETIME格式为'yyyy-mm-dd hh24:mi:ss',DATETONUM+6/8/14,分别为6、8、14位时间格式
- * @returns String 返回组装后的查询条件串
- * <pre>
- * 使用举例:
- * 例1:
- * 没有任何特殊的设置
- * var _sWhere = spliceWhere('ybdy_spdjcx_sqxd_cxtj','');
- * 例2:
- * var _aRow = [{'colname':'CXRQ','type':'DATE','begin':'KSCXRQ','end':'ZZCXRQ'},
- * {'colname':'SHNY','type':'STRING','begin':'KSSHNY','end':'ZZSHNY','exp':'<,>'},
- * {'colname':'CSRQ','type':'DATE','exp':'>='},
- * {'colname':'JBRQ','type':'DATETIME'},
- * {'colname':'JE','type':'NUMBER'},
- * {'colname':'ZJBH','type':'STRING','begin':'','end':'%','exp':'like'},
- * {'colname':'YWLSH','type':''}
- * ];
- * var _aWhere = CFW.oStr.fnSpliceWhere('ybdy_spdjcx_sqxd_cxtj',_aRow);
- * </pre>
- */
- fnSpliceWhere : function (sFormId,aColRow) {
- var row = [];
- var b = false;
- var arrCol=[];
- var strWhere='',j=0;
- var myobj = $('#'+sFormId).get(0);//获取单记录表对象
-
- if(typeof aColRow =='object' && typeof aColRow.sort == 'function' && typeof aColRow.length == 'number'){
- row = aColRow;
- }
-
- //找出有特别设置的字段
- for(var i=0;i<row.length;i++){
- var item = row[i];
-
- var exp ='=';//表达式默认为等号
- var exp1='', exp2='';//有区间判断的表达式符合,例如 <、>
- var colname ='',colvalue='';
- var begin='', end='', tmp='', type='STRING';
- var date1='', date2='', iLen=0, iPos=0;
-
- if(row[i]['colname']==null){
- continue;
- }
-
- colname = row[i]['colname'];
-
- //判断是否存在值 有时需要查询的字段不在界面上 开始日期、终止日期对应的字段XXX日期等
- if(typeof $('[NAME="'+colname+'"]',myobj).get(0)=='object'){
- //取相应字段的值
- colvalue =$('[NAME="'+colname+'"]',myobj).get(0).value;
- if(colvalue==''||colvalue==null){
- continue;
- }
- }
- if(colvalue!=null&&colvalue!=''&& typeof(colvalue)=='string'){
- colvalue=colvalue.replace(/'/g, "''");
- }
-
- if(row[i]['begin']!=null){begin=row[i]['begin'];}
- if(row[i]['end']!=null){end=row[i]['end'];}
- type=row[i]['type'];
-
- arrCol[j]=colname;//放入数组的目的是为了下面过滤掉,不要重复组合
- j++;
-
- //处理需要过滤不组合到WHERE内的字段
- if(type==null||type==''){
- continue;
- }
-
- //是否配置了表达式
- if(row[i]['exp']!=null){
- exp = row[i]['exp'];
- exp = exp.toLowerCase();
- iPos = exp.indexOf(','); //检查是否配置了 <,> 等表达式
- if(iPos>0){
- var arrExp = exp.split(',');
- exp='=';
- exp1 = arrExp[0];
- exp2 = arrExp[1];
- }
- }
-
- if(strWhere==''){
- strWhere =' ' + colname;
- }else{
- strWhere = strWhere + ' and ' + colname;
- }
-
- //拼接上表达式
- strWhere += ' ' + exp +' ';
-
- if(exp!='like'){
- //调用内部函数组合查询条件
- strWhere = dt(myobj,strWhere,type,colname,colvalue,begin,end,exp1,exp2);
-
- if(begin!=''){ arrCol[j]=begin; j++;}
- if(end!=''){arrCol[j]=end;j++;}
- }
-
- //若传入的like,则更加begin和end的%值,拼串
- if(exp=='like'){
- if((begin==''&&end=='')||(begin=='%'&&end=='%')){
- strWhere += "'%" + colvalue + "%'";
- }
- if(begin=='%'&&end==''){
- strWhere += "'%" + colvalue + "'";
- }
- if(begin==''&&end=='%'){
- strWhere += "'" + colvalue + "%'";
- }
- }
-
- }//for end here
-
- //下面开始处理没有特别设置的字段
- jQuery(':input',myobj).each(function(){
- b=false;
- if(this.name==null|| this.name==''||this.name=='_multiple'){
- return true; //循环下一个相当于FOR循环continue
- }
- //过滤掉已经特殊处理过的字段
- for(var k=0; k<arrCol.length;k++){
- if(arrCol[k]== this.name){
- b=true;
- break;
- }
- }
-
- if(b){
- return true; //循环下一个相当于FOR循环continue
- }
-
- if(this.value==''){
- return true; //循环下一个相当于FOR循环continue
- }
-
- //没有特殊设置的字段,直接用等号拼接
- if(strWhere==''){
- strWhere =' ' + this.name + '=';
- }else{
- strWhere = strWhere + ' and ' + this.name + '=';
- }
- var valStr=this.value;
- if(this.value!=null&&this.value!=''&& typeof(this.value)=='string'){
- valStr=valStr.replace(/'/g,"''");
- }
- strWhere += "'" + valStr + "' ";
-
- });
- return strWhere;
-
- //定义内部函数
- function dt(obj,sW,ty,cln,clv,bg,en,e1,e2){
- var d1,d2,iL,tp;
-
- if(e1==''){e1='>=';} //若没有配则设置默认值
- if(e2==''){e2='<=';}
- if(bg==''&&en==''){
- if(ty=='NUMBER'){sW += clv;}
- if(ty=='STRING'){sW += "'" + clv + "'";}
- if(ty=='DATE'){sW += "to_date('" + clv + "','yyyy-mm-dd')"; }
- if(ty=='DATETIME'){sW += "to_date('" + clv + "','yyyy-mm-dd hh24:mi:ss')"; }
- if(ty=='DATETONUM6'){
- clv = clv.replace(/-/gi, "");
- if(clv.length>6){
- clv = clv.substr(0,6);
- }
- sW += clv;
- }
- if(ty=='DATETONUM8'){
- clv = clv.replace(/-/gi, "");
- sW += clv;
- }
- if(ty=='DATETONUM14'){
- clv = clv.replace(/-/gi, "");
- clv = clv.replace(/:/gi, "");
- clv = clv.replace(/ /gi, "");
- iL = clv.length;
- while(iL<14){
- clv+='0';
- iL = clv.length;
- }
- sW += clv;
- }
-
- return sW;
- }
-
- //说明是有开始字段跟终止字段
- if(bg!=''&&en!=''){
-
- if(typeof $('[NAME="'+bg+'"]',obj).get(0)!='object'){
- CFW.oWin.fnAlert('字段='+bg+' 不存在!');
- return '';
- }
-
- if(typeof $('[NAME="'+en+'"]',obj).get(0)!='object'){
- CFW.oWin.fnAlert('字段='+en+' 不存在!');
- return '';
- }
-
- d1=$('[NAME="'+bg+'"]',obj).get(0).value;
- d2=$('[NAME="'+en+'"]',obj).get(0).value;
- iL = sW.length-2;
- sW = sW.substr(0,iL); //去掉=号
-
- //开始字段录入值
- if(d1!=''){
- if(ty=='NUMBER'){sW += " "+e1+d1;}
- if(ty=='STRING'){sW += " "+e1+"'"+d1+"'";}
- if(ty=='DATE'){ sW += " "+e1+" to_date('" + d1 + "','yyyy-mm-dd')";};
- if(ty=='DATETIME'){sW += " "+e1+" to_date('" + d1 + "','yyyy-mm-dd hh24:mi:ss')";};
- if(ty=='DATETONUM6'){
- d1 = d1.replace(/-/gi, "");
- if(d1.length>6){
- d1 = d1.substr(0,6);
- }
- sW += " "+e1 + " " + d1;
- }
- if(ty=='DATETONUM8'){
- d1 = d1.replace(/-/gi, "");
- sW += " "+e1 + " " + d1;
- }
- if(ty=='DATETONUM14'){
- d1 = d1.replace(/-/gi, "");
- d1 = d1.replace(/:/gi, "");
- d1 = d1.replace(/ /gi, "");
- iL = d1.length;
- while(iL<14){
- d1+='0';
- iL = d1.length;
- }
- sW += " "+e1 + " " + d1;
- }
-
- if(d2!=''){
- sW += " and " + cln;
- }
- }
-
- //终止字段录入值
- if(d2!=''){
- if(ty=='NUMBER'){ sW += " "+e2+" " + d2;};
- if(ty=='STRING'){ sW += " "+e2+" '" + d2 + "'";};
- if(ty=='DATE'){ sW += " "+e2+" to_date('" + d2 + "','yyyy-mm-dd')";};
- if(ty=='DATETIME'){sW += " "+e2+" to_date('" + d2 + "','yyyy-mm-dd hh24:mi:ss')";};
- if(ty=='DATETONUM6'){
- d2 = d2.replace(/-/gi, "");
- if(d2.length>6){
- d2 = d2.substr(0,6);
- }
- sW += " "+e2 + " " + d2;
- }
- if(ty=='DATETONUM8'){
- d2 = d2.replace(/-/gi, "");
- sW += " "+e2 + " " + d2;
- }
-
- if(ty=='DATETONUM14'){
- d2 = d2.replace(/-/gi, "");
- d2 = d2.replace(/:/gi, "");
- d2 = d2.replace(/ /gi, "");
- iL = d2.length;
- if(iL==8){
- d2+='235959';//23:59:59
- }else{
- while(iL<14){
- d2+='0';
- iL = d2.length;
- }
- }
- sW += " "+e2 + " " + d2;
- }
-
- }
-
- //若开始字段和终止字段都没有录入值
- if(d1==''&&d2==''){
- tp = 'and ' + cln;
- iP = sW.indexOf(tp);
- sW = sW.substr(0,iP); //去掉and 和列名
- }
- }
- return sW;
- }//dt
- },
- fnJsonWhere : function (sFormId,aColRow) {
- var row = [];
- var b = false;
- var arrCol=[];
- var strWhere='',j=0;
-
- var whereArr=[];
- var myobj = $('#'+sFormId).get(0);//获取单记录表对象
-
- if(typeof aColRow =='object' && typeof aColRow.sort == 'function' && typeof aColRow.length == 'number'){
- row = aColRow;
- }
-
- //找出有特别设置的字段
- for(var i=0;i<row.length;i++){
- var item = row[i];
-
- var exp ='=';//表达式默认为等号
- var exp1='', exp2='';//有区间判断的表达式符合,例如 <、>
- var colname ='',colvalue='';
- var begin='', end='', tmp='', type='STRING';
- var date1='', date2='', iLen=0, iPos=0;
-
- if(row[i]['colname']==null){
- continue;
- }
-
- colname = row[i]['colname'];
-
- //判断是否存在值 有时需要查询的字段不在界面上 开始日期、终止日期对应的字段XXX日期等
- if(typeof $('[NAME="'+colname+'"]',myobj).get(0)=='object'){
- //取相应字段的值
- colvalue =$('[NAME="'+colname+'"]',myobj).get(0).value;
- if(colvalue==''||colvalue==null){
- continue;
- }
- }
- if(colvalue!=null&&colvalue!=''&& typeof(colvalue)=='string'){
- colvalue=colvalue.replace(/'/g, "''");
- }
-
- if(row[i]['begin']!=null){begin=row[i]['begin'];}
- if(row[i]['end']!=null){end=row[i]['end'];}
- type=row[i]['type'];
-
- arrCol[j]=colname;//放入数组的目的是为了下面过滤掉,不要重复组合
- j++;
-
- //处理需要过滤不组合到WHERE内的字段
- if(type==null||type==''){
- continue;
- }
-
- //是否配置了表达式
- if(row[i]['exp']!=null){
- exp = row[i]['exp'];
- exp = exp.toLowerCase();
- iPos = exp.indexOf(','); //检查是否配置了 <,> 等表达式
- if(iPos>0){
- var arrExp = exp.split(',');
- exp='=';
- exp1 = arrExp[0];
- exp2 = arrExp[1];
- }
- }
-
- if(exp!='like'){
- //调用内部函数组合查询条件
- var d1=$('[NAME="'+begin+'"]',myobj).get(0).value;
- var d2=$('[NAME="'+end+'"]',myobj).get(0).value;
-
- if(d1!=''||d2!=''){
- var whereCOl=new Object();
- whereCOl.colname=colname;
- whereCOl.colvalue=colvalue;
- whereCOl.exp=exp;
- whereCOl.exp1=exp1;
- whereCOl.exp2=exp2;
- whereCOl.begin=begin;
- whereCOl.end=end;
- whereCOl.d1=d1;
- whereCOl.d2=d2;
- whereCOl.type=type;
- whereCOl.special="true";
- whereArr[whereArr.length]=whereCOl;
- }
- if(begin!=''){ arrCol[j]=begin; j++;}
- if(end!=''){arrCol[j]=end;j++;}
- }else{ //若传入的like,则更加begin和end的%值,拼串
- var whereCOl=new Object();
- whereCOl.colname=colname;
- whereCOl.colvalue=colvalue;
- whereCOl.exp=exp;
- whereCOl.exp1=exp1;
- whereCOl.exp2=exp2;
- whereCOl.begin=begin;
- whereCOl.end=end;
- whereCOl.special="true";
- whereArr[whereArr.length]=whereCOl;
- }
- }//for end here
-
-
- //下面开始处理没有特别设置的字段
- jQuery(':input',myobj).each(function(){
- b=false;
- if(this.name==null|| this.name==''||this.name=='_multiple'){
- return true; //循环下一个相当于FOR循环continue
- }
- //过滤掉已经特殊处理过的字段
- for(var k=0; k<arrCol.length;k++){
- if(arrCol[k]== this.name){
- b=true;
- break;
- }
- }
-
- if(b){
- return true; //循环下一个相当于FOR循环continue
- }
-
- if(this.value==''){
- return true; //循环下一个相当于FOR循环continue
- }
-
- //没有特殊设置的字段,直接用等号拼接
- var valStr=this.value;
- if(this.value!=null&&this.value!=''&& typeof(this.value)=='string'){
- valStr=valStr.replace(/'/g,"''");
- }
- var whereCOl=new Object();
- whereCOl.colname=this.name;
- whereCOl.colvalue=valStr;
- whereCOl.exp="=";
- whereCOl.special="false";
- whereArr[whereArr.length]=whereCOl;
- });
- //alert(JSON.stringify(whereArr));
- // var data={};
- // data["fnJsonWhere"] = whereArr;
- return whereArr;
- }
- };
|