index.d.ts 247 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841
  1. /// <reference types="../../@cosmic/bos-script" />
  2. /// <reference types="../../@cosmic/bos-core" />
  3. declare global {
  4. namespace $ {
  5. namespace kd.fi.pa.algox{
  6. interface PARowMetaBuilder_S {
  7. }
  8. type PARowMetaBuilder_ST = $.java.io.Serializable & PARowMetaBuilder_S;
  9. interface PARowMetaBuilder_C extends PARowMetaBuilder_ST {
  10. new(rowMeta:$.kd.bos.algo.RowMeta):PARowMetaBuilder;
  11. }
  12. interface PARowMetaBuilder$ {
  13. /**
  14. * 添加fields,返回新的rowMeta构建器
  15. */
  16. addFields(...addFields:$.kd.bos.algo.Field[]):this;
  17. /**
  18. * 创建RowX处理器
  19. */
  20. create(rowX:$.kd.bos.algox.RowX):PARowXProcessor;
  21. /**
  22. * 创建RowX处理器,数据转化
  23. */
  24. createConversion(sourcePARowXProcessor:PARowXProcessor):PARowXProcessor;
  25. /**
  26. * 创建RowX处理器,数据copy
  27. */
  28. createCopy(rowX:$.kd.bos.algox.RowX):PARowXProcessor;
  29. /**
  30. * 创建RowX处理器,数据new
  31. */
  32. createNew():PARowXProcessor;
  33. /**
  34. * 删除fields,返回新的rowMeta构建器
  35. */
  36. delFields(...delFields:$.kd.bos.algo.Field[]):this;
  37. getRowMeta():$.kd.bos.algo.RowMeta;
  38. }
  39. type PARowMetaBuilder_T = $.java.io.Serializable & PARowMetaBuilder_S & PARowMetaBuilder$;
  40. interface PARowMetaBuilder extends PARowMetaBuilder_T {
  41. }
  42. interface PARowXProcessor_S {
  43. }
  44. type PARowXProcessor_ST = $.java.io.Serializable & PARowXProcessor_S;
  45. interface PARowXProcessor_C extends PARowXProcessor_ST {
  46. new(rowMeta:$.kd.bos.algo.RowMeta,rowX:$.kd.bos.algox.RowX):PARowXProcessor;
  47. }
  48. interface PARowXProcessor$ {
  49. getRowMeta():$.kd.bos.algo.RowMeta;
  50. getRowX():$.kd.bos.algox.RowX;
  51. /**
  52. * 获取RowX属性值
  53. */
  54. getValue(fieldName:string):any;
  55. /**
  56. * 获取RowX属性值(批量)
  57. */
  58. getValue(fieldNameList:$.java.util.List):$.java.util.Map;
  59. /**
  60. * 获取RowX属性值(特殊处理)
  61. */
  62. getValueSpecial(fieldName:string):any;
  63. /**
  64. * 获取RowX属性的数据类型
  65. */
  66. getValueType(fieldName:string):$.kd.bos.algo.DataType;
  67. /**
  68. * 获取RowX属性值(批量)
  69. */
  70. getValues(fieldNameList:$.java.util.List):any[];
  71. /**
  72. * 修改RowX属性值(批量)
  73. */
  74. updateValue(fieldValueMap:$.java.util.Map):this;
  75. /**
  76. * 修改RowX属性值
  77. */
  78. updateValue(field:string,value:any):this;
  79. /**
  80. * 修改RowX属性值通过DataType(特殊处理)
  81. */
  82. updateValueSpecial(field:string,value:any):this;
  83. }
  84. type PARowXProcessor_T = $.java.io.Serializable & PARowXProcessor_S & PARowXProcessor$;
  85. interface PARowXProcessor extends PARowXProcessor_T {
  86. }
  87. interface PAIdCreator_S {
  88. }
  89. type PAIdCreator_ST = $.java.io.Serializable & PAIdCreator_S;
  90. interface PAIdCreator_C extends PAIdCreator_ST {
  91. new():PAIdCreator;
  92. /**
  93. * 自定义
  94. */
  95. new(count:number):PAIdCreator;
  96. }
  97. interface PAIdCreator$ {
  98. /**
  99. * 生成id
  100. */
  101. getId():long;
  102. /**
  103. * 重置count
  104. */
  105. setCount(count:number):void;
  106. }
  107. type PAIdCreator_T = $.java.io.Serializable & PAIdCreator_S & PAIdCreator$;
  108. interface PAIdCreator extends PAIdCreator_T {
  109. }
  110. }
  111. namespace kd.fi.pa.algox.script{
  112. interface ScriptGroupReduceFunction_S {
  113. }
  114. interface ScriptGroupReduceFunction_C extends ScriptGroupReduceFunction_S {
  115. new():ScriptGroupReduceFunction;
  116. }
  117. interface ScriptGroupReduceFunction$ {
  118. /**
  119. * reduce
  120. *
  121. * @param iter 分组后的数据集
  122. * @param collector collector
  123. */
  124. reduce(iter:$.java.lang.Iterable,collector:$.kd.bos.algox.Collector,context:ScriptFunctionContext):void;
  125. }
  126. type ScriptGroupReduceFunction_T = ScriptGroupReduceFunction_S & ScriptGroupReduceFunction$;
  127. interface ScriptGroupReduceFunction extends ScriptGroupReduceFunction_T {
  128. }
  129. interface GenerateRuleBaseScript_S {
  130. }
  131. interface GenerateRuleBaseScript_C extends GenerateRuleBaseScript_S {
  132. new():GenerateRuleBaseScript;
  133. }
  134. interface GenerateRuleBaseScript$ {
  135. /**
  136. * 执行派生脚本生成派生数据集
  137. * @return 派生数据集
  138. */
  139. generate():$.kd.bos.algox.DataSetX;
  140. /**
  141. * 返回数据源表dataSet,提供给脚本调用
  142. * @param tableName 数据源表数据集
  143. * @return
  144. */
  145. getDataSourceDataSet(tableName:string):$.kd.bos.algo.DataSet;
  146. /**
  147. * 返回数据源表数据集,提供给脚本调用
  148. * @param tableName 数据源表数据集
  149. * @return 数据集
  150. */
  151. getDataSourceDataX(tableName:string):$.kd.bos.algox.DataSetX;
  152. getEndDate():Date;
  153. /**
  154. * 获取FlatMap代理函数
  155. * @return FlatMap代理函数
  156. */
  157. getFlatMapFunctionProxy():FlatMapFunctionProxy;
  158. /**
  159. * 获取GroupReduce代理函数
  160. * @return 代理函数
  161. */
  162. getGroupReduceFunctionProxy():GroupReduceFunctionProxy;
  163. getJobSession():$.kd.bos.algox.JobSession;
  164. getLimitNum():number;
  165. /**
  166. * 获取Map代理函数
  167. * @return 代理函数
  168. */
  169. getMapFunctionProxy():MapFunctionProxy;
  170. /**
  171. * 返回分析模型数据集,提供给脚本调用
  172. * @return 分析模型数据集
  173. */
  174. getModelDataSetX():$.kd.bos.algox.DataSetX;
  175. getOrgIds():long[];
  176. /**
  177. * 返回派生RowMeta构建器
  178. * @return RowMeta构建器
  179. */
  180. getResultRowMetaBuilder():PARowMetaBuilder;
  181. getScript():string;
  182. getStartDate():Date;
  183. getStartPeriod():long;
  184. setDataSourceInputMap(dataSourceInputMap:$.java.util.Map):void;
  185. setEndDate(endDate:Date):void;
  186. setJobSession(jobSession:$.kd.bos.algox.JobSession):void;
  187. setLimitNum(limitNum:number):void;
  188. setOrgIds(orgIds:long[]):void;
  189. setScript(script:string):void;
  190. setSenderInput(senderInput:$.kd.bos.algo.Input[]):void;
  191. setStartDate(startDate:Date):void;
  192. setStartPeriod(startPeriod:long):void;
  193. }
  194. type GenerateRuleBaseScript_T = GenerateRuleBaseScript_S & GenerateRuleBaseScript$;
  195. interface GenerateRuleBaseScript extends GenerateRuleBaseScript_T {
  196. }
  197. interface MapFunctionProxy_S {
  198. }
  199. type MapFunctionProxy_ST = $.kd.bos.algox.MapFunction & MapFunctionProxy_S;
  200. interface MapFunctionProxy_C extends MapFunctionProxy_ST {
  201. new(script:string):MapFunctionProxy;
  202. }
  203. interface MapFunctionProxy$ {
  204. getContext():ScriptFunctionContext;
  205. getFunctionName():string;
  206. getScript():string;
  207. setFunctionName(functionName:string):void;
  208. }
  209. type MapFunctionProxy_T = $.kd.bos.algox.MapFunction & MapFunctionProxy_S & MapFunctionProxy$;
  210. interface MapFunctionProxy extends MapFunctionProxy_T {
  211. }
  212. interface ScriptFlatMapFunction_S {
  213. }
  214. interface ScriptFlatMapFunction_C extends ScriptFlatMapFunction_S {
  215. new():ScriptFlatMapFunction;
  216. }
  217. interface ScriptFlatMapFunction$ {
  218. /**
  219. * @param rowX 处理数据行
  220. * @param collector 收集器
  221. * @param context 函数上下文
  222. */
  223. flatMap(rowX:$.kd.bos.algox.RowX,collector:$.kd.bos.algox.Collector,context:ScriptFunctionContext):void;
  224. }
  225. type ScriptFlatMapFunction_T = ScriptFlatMapFunction_S & ScriptFlatMapFunction$;
  226. interface ScriptFlatMapFunction extends ScriptFlatMapFunction_T {
  227. }
  228. interface ScriptFunctionContext_S {
  229. }
  230. type ScriptFunctionContext_ST = $.java.io.Serializable & ScriptFunctionContext_S;
  231. interface ScriptFunctionContext_C extends ScriptFunctionContext_ST {
  232. new():ScriptFunctionContext;
  233. }
  234. interface ScriptFunctionContext$ {
  235. getCustomParam(name:string):any;
  236. getCustomParams():$.java.util.Map;
  237. getIdCreator():PAIdCreator;
  238. getResultRowMetaBuilder():PARowMetaBuilder;
  239. getSourceRowMetaBuilder():PARowMetaBuilder;
  240. putCustomParam(name:string,value:any):void;
  241. setIdCreator(idCreator:PAIdCreator):void;
  242. setResultRowMetaBuilder(resultRowMetaBuilder:PARowMetaBuilder):void;
  243. setSourceRowMetaBuilder(sourceRowMetaBuilder:PARowMetaBuilder):void;
  244. }
  245. type ScriptFunctionContext_T = $.java.io.Serializable & ScriptFunctionContext_S & ScriptFunctionContext$;
  246. interface ScriptFunctionContext extends ScriptFunctionContext_T {
  247. }
  248. interface GroupReduceFunctionProxy_S {
  249. }
  250. type GroupReduceFunctionProxy_ST = $.kd.bos.algox.GroupReduceFunction & GroupReduceFunctionProxy_S;
  251. interface GroupReduceFunctionProxy_C extends GroupReduceFunctionProxy_ST {
  252. new(script:string):GroupReduceFunctionProxy;
  253. }
  254. interface GroupReduceFunctionProxy$ {
  255. getContext():ScriptFunctionContext;
  256. getFunctionName():string;
  257. getScript():string;
  258. setFunctionName(functionName:string):void;
  259. }
  260. type GroupReduceFunctionProxy_T = $.kd.bos.algox.GroupReduceFunction & GroupReduceFunctionProxy_S & GroupReduceFunctionProxy$;
  261. interface GroupReduceFunctionProxy extends GroupReduceFunctionProxy_T {
  262. }
  263. interface ScriptMapFunction_S {
  264. }
  265. interface ScriptMapFunction_C extends ScriptMapFunction_S {
  266. new():ScriptMapFunction;
  267. }
  268. interface ScriptMapFunction$ {
  269. /**
  270. * 映射函数
  271. *
  272. * @param row RowX
  273. * @return 新RowX
  274. */
  275. map(row:$.kd.bos.algox.RowX,context:ScriptFunctionContext):$.kd.bos.algox.RowX;
  276. }
  277. type ScriptMapFunction_T = ScriptMapFunction_S & ScriptMapFunction$;
  278. interface ScriptMapFunction extends ScriptMapFunction_T {
  279. }
  280. interface FlatMapFunctionProxy_S {
  281. }
  282. type FlatMapFunctionProxy_ST = $.kd.bos.algox.FlatMapFunction & FlatMapFunctionProxy_S;
  283. interface FlatMapFunctionProxy_C extends FlatMapFunctionProxy_ST {
  284. new(script:string):FlatMapFunctionProxy;
  285. }
  286. interface FlatMapFunctionProxy$ {
  287. getContext():ScriptFunctionContext;
  288. getFunctionName():string;
  289. getScript():string;
  290. setFunctionName(functionName:string):void;
  291. }
  292. type FlatMapFunctionProxy_T = $.kd.bos.algox.FlatMapFunction & FlatMapFunctionProxy_S & FlatMapFunctionProxy$;
  293. interface FlatMapFunctionProxy extends FlatMapFunctionProxy_T {
  294. }
  295. }
  296. namespace kd.sdk.fi{
  297. interface SdkFiModule_S {
  298. }
  299. type SdkFiModule_ST = $.kd.sdk.module.Module & SdkFiModule_S;
  300. interface SdkFiModule_C extends SdkFiModule_ST {
  301. new():SdkFiModule;
  302. }
  303. interface SdkFiModule$ {
  304. }
  305. type SdkFiModule_T = $.kd.sdk.module.Module & SdkFiModule_S & SdkFiModule$;
  306. interface SdkFiModule extends SdkFiModule_T {
  307. }
  308. }
  309. namespace kd.sdk.fi.ap.extpoint.adjustDiff{
  310. interface IFilterAdjustDiffBill_S {
  311. }
  312. interface IFilterAdjustDiffBill$ {
  313. /**
  314. * @Param finApBills 本次提交的单据集合
  315. * @Param canAdjustDiffBills 标准过滤后需要执行调差的单据集合
  316. */
  317. filterAdjustDiffFinAp(finApBills:$.kd.bos.dataentity.entity.DynamicObject[],canAdjustDiffBills:$.java.util.List):void;
  318. }
  319. type IFilterAdjustDiffBill_T = IFilterAdjustDiffBill_S & IFilterAdjustDiffBill$;
  320. interface IFilterAdjustDiffBill extends IFilterAdjustDiffBill_T {
  321. }
  322. }
  323. namespace kd.sdk.fi.ap.extpoint.dap{
  324. interface IAfterGenerateVoucherExt_S {
  325. }
  326. interface IAfterGenerateVoucherExt$ {
  327. afterGenerateVoucher(voucherOpValue:string,billEntityNumber:string,billPkMap:$.java.util.Map):void;
  328. }
  329. type IAfterGenerateVoucherExt_T = IAfterGenerateVoucherExt_S & IAfterGenerateVoucherExt$;
  330. interface IAfterGenerateVoucherExt extends IAfterGenerateVoucherExt_T {
  331. }
  332. }
  333. namespace kd.sdk.fi.ap.extpoint.importext{
  334. interface IAfterImportDataExt_S {
  335. }
  336. interface IAfterImportDataExt$ {
  337. afterImportData(e:$.kd.bos.entity.datamodel.events.ImportDataEventArgs,model:$.kd.bos.entity.datamodel.IDataModel):void;
  338. }
  339. type IAfterImportDataExt_T = IAfterImportDataExt_S & IAfterImportDataExt$;
  340. interface IAfterImportDataExt extends IAfterImportDataExt_T {
  341. }
  342. }
  343. namespace kd.sdk.fi.ap.extpoint.invoice{
  344. interface IInvoiceImport_S {
  345. }
  346. interface IInvoiceImport$ {
  347. /**
  348. * 采集发票处理收票单
  349. * @param invoiceVOsJson 发票回传的json报文
  350. * @param downloadInvs 对应生成的收票单
  351. * @return
  352. * <p>扩展示例如下
  353. * <pre><code>
  354. * @Override
  355. * public void afterImportInvoice(String invoesJson, List<DynamicObject> list) {
  356. * List<JSONObject> jsonList = JSONObject.parseObject(invoesJson, List.class);
  357. * List<InvoiceVO> InvoiceList = new ArrayList<>();
  358. * for (JSONObject json : jsonList) {
  359. * InvoiceList.add(JSONObject.parseObject(json.toJSONString(), InvoiceVO.class));
  360. * }
  361. * }
  362. * </code></pre>
  363. */
  364. afterImportInvoice(invoiceVOsJson:string,downloadInvs:$.java.util.List):void;
  365. }
  366. type IInvoiceImport_T = IInvoiceImport_S & IInvoiceImport$;
  367. interface IInvoiceImport extends IInvoiceImport_T {
  368. }
  369. }
  370. namespace kd.sdk.fi.ap.extpoint.invoicematch{
  371. interface IInvoiceMatchBase_S {
  372. }
  373. interface IInvoiceMatchBase$ {
  374. /**
  375. * 获取展示的发票匹配页面标识,标准产品默认是发票匹配ap_invoicematch。二开可以继承发票匹配模板定制化发票匹配页面
  376. * @return 发票匹配页面标识
  377. */
  378. getShowInvoiceMatchKey():string;
  379. /**
  380. * 获取展示的选择匹配单据页面标识,标准产品默认是发票匹配ap_invoicematch。二开可以继承选择发票匹配模板定制化匹配单据页面
  381. * @return 选择匹配单据页面标识
  382. */
  383. getShowSelectMatchBillKey():string;
  384. }
  385. type IInvoiceMatchBase_T = IInvoiceMatchBase_S & IInvoiceMatchBase$;
  386. interface IInvoiceMatchBase extends IInvoiceMatchBase_T {
  387. }
  388. interface IInvoiceMatchFormHandler_S {
  389. }
  390. interface IInvoiceMatchFormHandler$ {
  391. /**
  392. * 增加二开单据选择匹配对象的处理器
  393. */
  394. addSelectMatchBillHandlers():$.java.util.List;
  395. /**
  396. * 填充完收票单分录后扩展接口
  397. */
  398. afterFillInvoiceData(view:$.kd.bos.form.IFormView):void;
  399. /**
  400. * 加载完收票单分录后扩展接口
  401. */
  402. afterLoadInvoiceData(view:$.kd.bos.form.IFormView):void;
  403. }
  404. type IInvoiceMatchFormHandler_T = IInvoiceMatchFormHandler_S & IInvoiceMatchFormHandler$;
  405. interface IInvoiceMatchFormHandler extends IInvoiceMatchFormHandler_T {
  406. }
  407. interface IInvoiceMatchOpHandler_S {
  408. }
  409. interface IInvoiceMatchOpHandler$ {
  410. /**
  411. * 确认应付后对应付单的后处理
  412. * @param finApBillIds 应付单id集合
  413. */
  414. afterConfirmFinAp(finApBillIds:$.java.util.List):void;
  415. /**
  416. * 移除标准产品保存或者提交的校验
  417. * @param parentValidator 主校验接类,继承平台抽象类的校验器,传入该参数是为了根据数据来决定是否移除,增加扩展性
  418. * @param subValidators 业务自己的校验,可以移除
  419. */
  420. removeValidator(parentValidator:$.kd.bos.entity.validate.AbstractValidator,subValidators:$.java.util.List):void;
  421. }
  422. type IInvoiceMatchOpHandler_T = IInvoiceMatchOpHandler_S & IInvoiceMatchOpHandler$;
  423. interface IInvoiceMatchOpHandler extends IInvoiceMatchOpHandler_T {
  424. }
  425. }
  426. namespace kd.sdk.fi.ap.extpoint.invoicematch.service{
  427. interface ISelectMatchBillHandler_S {
  428. }
  429. interface ISelectMatchBillHandler$ {
  430. /**
  431. * 字段处理:未匹配类字段的赋值
  432. * @param inputDataSet 查询出来的匹配对象打平数据
  433. */
  434. fieldHandle(inputDataSet:$.kd.bos.algo.DataSet):$.kd.bos.algo.DataSet;
  435. /**
  436. * 是否触发执行filedHandle
  437. */
  438. isFireHandle():boolean;
  439. }
  440. type ISelectMatchBillHandler_T = ISelectMatchBillHandler_S & ISelectMatchBillHandler$;
  441. interface ISelectMatchBillHandler extends ISelectMatchBillHandler_T {
  442. }
  443. }
  444. namespace kd.sdk.fi.ap.extpoint.list{
  445. interface IAfterBizProcess_S {
  446. }
  447. interface IAfterBizProcess$ {
  448. /**
  449. * @param view 列表或者表单view
  450. * @param bizName 当前业务标识,用于判断走对应哪个sdk
  451. *
  452. * <p>扩展示例如下
  453. * <pre><code>
  454. * public void afterBizProcess(IFormView view, String bizName) {
  455. * // 只处理应付有源采集场景
  456. * if (!AfterBizExtendConst.FINAP_COLLECT_INVOICE.equals(bizName)) return;
  457. * // Demo样例,把有源采集的票发票代码赋值给表头的备注字段
  458. * IDataModel model = view.getModel();
  459. * DynamicObjectCollection inventry = model.getEntryEntity("inventry");
  460. * if (!inventry.isEmpty()){
  461. * String invoiceCode = inventry.get(0).getString("i_invoicecode");
  462. * model.setValue("remark",invoiceCode);
  463. * }
  464. * }
  465. * </code></pre>
  466. */
  467. afterBizProcess(view:$.kd.bos.form.IFormView,bizName:string):void;
  468. }
  469. type IAfterBizProcess_T = IAfterBizProcess_S & IAfterBizProcess$;
  470. interface IAfterBizProcess extends IAfterBizProcess_T {
  471. }
  472. interface IApproverSetting_S {
  473. }
  474. interface IApproverSetting$ {
  475. /**
  476. * 列表展示当前处理人自定义字段名称
  477. *
  478. * @return String: 自定义的列表字段名
  479. * <p>扩展示例如下
  480. * <pre><code>
  481. * public String showApproverCaptionExt() {
  482. * return "当前审核人";
  483. * }
  484. * </code></pre>
  485. */
  486. showApproverCaptionExt():string;
  487. /**
  488. * 列表展示当前处理人自定义显示内容
  489. *
  490. * @return 自定义的显示内容 Map<String, String> key: 单据id(转成String类型) value: 这张单据列表上字段显示的值
  491. * <p>扩展示例如下
  492. * <pre><code>
  493. * public Map<String, String> showApproverExt() {
  494. * // key: 单据id(转成String类型) value: 这张单据列表上字段显示的值
  495. * Map<String, String> nodeMap = new HashMap<>(8);
  496. * // 若需要查询 请在这里批量查询
  497. * for (String billId : billIds) {
  498. * // 请在这里构造nodeMap 自定义每一张单据当前处理人的值
  499. * if ("1782516835053234176".equals(billId)) {
  500. * nodeMap.put(billId, "测试人");
  501. * }
  502. * }
  503. * }
  504. * </code></pre>
  505. */
  506. showApproverExt?(billIds:$.java.util.List):$.java.util.Map;
  507. }
  508. type IApproverSetting_T = IApproverSetting_S & IApproverSetting$;
  509. interface IApproverSetting extends IApproverSetting_T {
  510. }
  511. interface IPayeeBankInfoFilter_S {
  512. }
  513. interface IPayeeBankInfoFilter$ {
  514. /**
  515. * 供应商收款账号过滤条件扩展插件
  516. * @param view 单据页面view对象
  517. * @return
  518. * <p>扩展示例如下
  519. * <pre><code>
  520. * @Override
  521. * default void setIFilters(ListFilterParameter lfp, IFormView view ) {
  522. * //ListFilterParameter lfp 打开列表界面的过来参数
  523. * //view 编辑界面的view对象
  524. * DynamicObject bill=view.getModel().getDataEntity();
  525. * bill.getLong("id");
  526. * QFilter filter=new QFilter("id", QCP.in,100000L);
  527. * return filter;
  528. *
  529. * }
  530. * </code></pre>
  531. */
  532. setIFilters?(lfp:$.kd.bos.list.ListFilterParameter,view:$.kd.bos.form.IFormView):void;
  533. }
  534. type IPayeeBankInfoFilter_T = IPayeeBankInfoFilter_S & IPayeeBankInfoFilter$;
  535. interface IPayeeBankInfoFilter extends IPayeeBankInfoFilter_T {
  536. }
  537. }
  538. namespace kd.sdk.fi.ap.extpoint.payapply{
  539. interface ICasPayBillPayCallback_S {
  540. }
  541. interface ICasPayBillPayCallback$ {
  542. /**
  543. * 开票回调后处理
  544. * @param params 付款单付款之后调用付款申请单反写接口json
  545. * @return
  546. *
  547. * <p>扩展示例如下
  548. * <pre><code>
  549. * package kd.fi.arapcommon.customer;
  550. *
  551. * import kd.bos.dataentity.entity.DynamicObject;
  552. * import kd.bos.db.tx.TX;
  553. * import kd.bos.db.tx.TXHandle;
  554. * import kd.bos.orm.query.QCP;
  555. * import kd.bos.orm.query.QFilter;
  556. * import kd.bos.servicehelper.BusinessDataServiceHelper;
  557. * import kd.fi.arapcommon.consts.EntityConst;
  558. * import kd.sdk.fi.ap.extpoint.payapply.ICasPayBillPayCallback;
  559. *
  560. * import java.util.List;
  561. * import java.util.Map;
  562. * import java.util.Set;
  563. * import java.util.stream.Collectors;
  564. *
  565. * public class CasPayBillPayCallbaclImpl_Demo implements ICasPayBillPayCallback {
  566. * @Override
  567. * public void afterProcess(Object params) {
  568. * List<Map<String, Object>> paramList = (List<Map<String, Object>>) params;
  569. * Set<Long> sourceIds = paramList.stream().map(param -> (Long) param.get("sourcepk")).collect(Collectors.toSet());//源单id集合
  570. * //可能跨库操作,开启新事务处理
  571. * try (TXHandle tx = TX.requiresNew("CasPayBillPayCallback.afterProcess")) {
  572. * try {
  573. * //获取付款申请单
  574. * DynamicObject[] payApplyBills = BusinessDataServiceHelper.load(EntityConst.AP_PAYAPPLY, "id", new QFilter[]{new QFilter("id", QCP.in, sourceIds)});
  575. * for (DynamicObject payApplyBill : payApplyBills){
  576. * //二开操作....
  577. * }
  578. * } catch(Exception ex) {
  579. * tx.markRollback();
  580. * throw ex;
  581. * }
  582. * }
  583. * }
  584. * }
  585. * </code></pre>
  586. */
  587. afterProcess(params:any):void;
  588. }
  589. type ICasPayBillPayCallback_T = ICasPayBillPayCallback_S & ICasPayBillPayCallback$;
  590. interface ICasPayBillPayCallback extends ICasPayBillPayCallback_T {
  591. }
  592. }
  593. namespace kd.sdk.fi.ap.extpoint.push{
  594. interface IPushAssignField_S {
  595. }
  596. interface IPushAssignField$ {
  597. /**
  598. * @return key:下推单据目标单业务标识,如ap_finapbill value:需要支持的扩展字段 [{pushfinap=[salesman, salesorg], pushfinar=[purchaser, purorg]}]
  599. *
  600. * 样例:
  601. * <pre><code>
  602. * public class PushAssignFieldDemo implements IPushAssignField {
  603. * public Map<String, List<String>> getAfterPushAssignField() {
  604. * Map<String, List<String>> assignMap = new HashMap<>(2);
  605. * // 调用应付转付的API接口
  606. * IPushBillService pushBillService = ArApServiceAPIFactory.getPushBillService(ServiceNameEnum.FINAPTRANSFER.getValue());
  607. * List<String> apExtendField = new ArrayList<>(2);
  608. * apExtendField.add("purchaser"); // 采购员
  609. * apExtendField.add("purorg"); // 采购组织
  610. * // key 就是对应实现的ServiceName标识
  611. * assignMap.put(pushBillService.getServiceName(), apExtendField);
  612. * return assignMap;
  613. * }
  614. * }
  615. * </code></pre>
  616. */
  617. getAfterPushAssignField():$.java.util.Map;
  618. }
  619. type IPushAssignField_T = IPushAssignField_S & IPushAssignField$;
  620. interface IPushAssignField extends IPushAssignField_T {
  621. }
  622. }
  623. namespace kd.sdk.fi.ap.extpoint.settle{
  624. interface IPreSettleFilter_S {
  625. }
  626. interface IPreSettleFilter$ {
  627. /**
  628. * @return 扩展增加的期初预付单过滤条件
  629. * <p>
  630. * <pre><code>
  631. * @Override
  632. * public QFilter getPaidExtFilter(IFormView view) {
  633. * QFilter filter = null;
  634. * IDataModel model = view.getModel();
  635. * DynamicObject department = (DynamicObject) model.getValue("department");
  636. * if (!ObjectUtils.isEmpty(department)) {
  637. * filter = new QFilter("department_ext", QCP.equals, department.getLong("id"));
  638. * }
  639. * return filter;
  640. * }
  641. * </code></pre>
  642. * </p>
  643. */
  644. getPaidExtFilter?(view:$.kd.bos.form.IFormView):$.kd.bos.orm.query.QFilter;
  645. /**
  646. * @return 扩展增加的付款单过滤条件
  647. * <p>
  648. * <pre><code>
  649. * @Override
  650. * public QFilter getPayExtFilter(IFormView view) {
  651. * QFilter filter = null;
  652. * IDataModel model = view.getModel();
  653. * DynamicObject department = (DynamicObject) model.getValue("department");
  654. * if (!ObjectUtils.isEmpty(department)) {
  655. * filter = new QFilter("department_ext", QCP.equals, department.getLong("id"));
  656. * }
  657. * return filter;
  658. * }
  659. * </code></pre>
  660. * </p>
  661. */
  662. getPayExtFilter?(view:$.kd.bos.form.IFormView):$.kd.bos.orm.query.QFilter;
  663. /**
  664. * @return 扩展增加的收款单过滤条件
  665. * <p>
  666. * <pre><code>
  667. * @Override
  668. * public QFilter getRecExtFilter(IFormView view) {
  669. * QFilter filter = null;
  670. * IDataModel model = view.getModel();
  671. * DynamicObject department = (DynamicObject) model.getValue("department");
  672. * if (!ObjectUtils.isEmpty(department)) {
  673. * filter = new QFilter("department_ext", QCP.equals, department.getLong("id"));
  674. * }
  675. * return filter;
  676. * }
  677. * </code></pre>
  678. * </p>
  679. */
  680. getRecExtFilter?(view:$.kd.bos.form.IFormView):$.kd.bos.orm.query.QFilter;
  681. /**
  682. * @return 扩展增加的期初预收单过滤条件
  683. * <p>
  684. * <pre><code>
  685. * @Override
  686. * public QFilter getReceivedExtFilter(IFormView view) {
  687. * QFilter filter = null;
  688. * IDataModel model = view.getModel();
  689. * DynamicObject department = (DynamicObject) model.getValue("department");
  690. * if (!ObjectUtils.isEmpty(department)) {
  691. * filter = new QFilter("department_ext", QCP.equals, department.getLong("id"));
  692. * }
  693. * return filter;
  694. * }
  695. * </code></pre>
  696. * </p>
  697. */
  698. getReceivedExtFilter?(view:$.kd.bos.form.IFormView):$.kd.bos.orm.query.QFilter;
  699. }
  700. type IPreSettleFilter_T = IPreSettleFilter_S & IPreSettleFilter$;
  701. interface IPreSettleFilter extends IPreSettleFilter_T {
  702. }
  703. interface IAfterSettleProcess_S {
  704. }
  705. interface IAfterSettleProcess$ {
  706. /**
  707. * 类描述:应收应付结算后处理扩展
  708. * @param recordJson SettleRecordVO 对象kd.fi.arapcommon.vo.SettleRecordVO的json
  709. * @param schemeJson SettleSchemeVO 对象kd.fi.arapcommon.vo.SettleSchemeVO的json
  710. *
  711. * <p>扩展示例如下
  712. * <pre><code>
  713. * import com.alibaba.fastjson.JSONObject;
  714. * import kd.bos.db.tx.TX;
  715. * import kd.bos.db.tx.TXHandle;
  716. * import kd.fi.arapcommon.vo.SettleRecordVO;
  717. * import kd.fi.arapcommon.vo.SettleSchemeVO;
  718. * import kd.sdk.fi.ap.extpoint.settle.ArApAfterSettleProcess;
  719. *
  720. * import java.util.ArrayList;
  721. * import java.util.List;
  722. *
  723. * // 类描述:应收应付结算后处理扩展
  724. * public class AfterSettleDemoDemo implements ArApAfterSettleProcess {
  725. * public void afterProcess(String schemeJson, String recordJson) {
  726. * // Json转换成 SettleRecordVO 对象,里面存储着结算记录所有信息
  727. * List<JSONObject> jsonList = JSONObject.parseObject(recordJson, List.class);
  728. * List<SettleRecordVO> recordList = new ArrayList<>();
  729. * for (JSONObject json : jsonList) {
  730. * recordList.add(JSONObject.parseObject(json.toJSONString(), SettleRecordVO.class));
  731. * }
  732. * // Json转换成 SettleSchemeVO ,里面存储了进行结算反结算需要的逻辑参数
  733. * SettleSchemeVO scheme = JSONObject.parseObject(schemeJson, SettleSchemeVO.class);
  734. * // 可能跨库操作,开启新事务处理
  735. * try (TXHandle tx = TX.requiresNew("invokeAfterSettleCallback.afterProcess")) {
  736. * try {
  737. * // 处理结算后处理,现场根据场景进行个性化开发
  738. * } catch(Exception ex) {
  739. * tx.markRollback();
  740. * throw ex;
  741. * }
  742. * }
  743. * }
  744. * }
  745. * </code></pre>
  746. */
  747. afterProcess(schemeJson:string,recordJson:string):void;
  748. }
  749. type IAfterSettleProcess_T = IAfterSettleProcess_S & IAfterSettleProcess$;
  750. interface IAfterSettleProcess extends IAfterSettleProcess_T {
  751. }
  752. interface ISettleMatchExt_S {
  753. }
  754. interface ISettleMatchExt$ {
  755. /**
  756. * 结算前匹配条件扩展
  757. * @param mainBillSettleVoJson 主方结算信息
  758. * @param asstBillSettleVoJson 辅方结算信息
  759. * @param schemeJson 结算相关参数信息
  760. * @return 匹配通过还是失败
  761. * <p>
  762. * <pre><code>
  763. * package kd.fi.arapcommon.writeback;
  764. *
  765. * import com.alibaba.fastjson.JSONObject;
  766. * import kd.fi.arapcommon.vo.BillSettleVO;
  767. * import kd.fi.arapcommon.vo.SettleSchemeVO;
  768. * import kd.sdk.fi.ap.extpoint.settle.ISettleMatchExt;
  769. *
  770. * public class settleExtMatchService implements ISettleMatchExt {
  771. * @Override
  772. * public boolean match(String mainBillSettleVoJson, String asstBillSettleVoJson, String schemeJson) {
  773. * // Json转换成 BillSettleVO 对象,里面存储着主方,辅方结算所需信息
  774. * BillSettleVO mainBillSettleVo = SerializationUtils.fromJsonString(mainBillSettleVoJson, BillSettleVO.class);
  775. * BillSettleVO asstBillSettleVo = SerializationUtils.fromJsonString(asstBillSettleVoJson, BillSettleVO.class);
  776. * // Json转换成 SettleSchemeVO ,里面存储了进行结算反结算需要的逻辑参数
  777. * SettleSchemeVO scheme = SerializationUtils.fromJsonString(schemeJson, SettleSchemeVO.class);
  778. * // 结算前数据匹配,现场根据场景进行个性化开发
  779. * boolean result = false;
  780. * return result;
  781. * }
  782. * }
  783. *
  784. * </code></pre>
  785. * </p>
  786. */
  787. match(mainBillSettleVoJson:string,asstBillSettleVoJson:string,schemeJson:string):boolean;
  788. }
  789. type ISettleMatchExt_T = ISettleMatchExt_S & ISettleMatchExt$;
  790. interface ISettleMatchExt extends ISettleMatchExt_T {
  791. }
  792. interface IPaySettleWarnFilter_S {
  793. }
  794. interface IPaySettleWarnFilter$ {
  795. /**
  796. * 描述:预付款结算提醒-付款单
  797. * "预付款结算提醒过滤条件扩展
  798. * @param model 页面模型对象
  799. * @return 扩展增加的付款单过滤条件
  800. * <p>
  801. * <pre><code>
  802. * @Override
  803. * public QFilter addPaidFilter(IDataModel iDataModel) {
  804. * Object asstacttype = iDataModel.getValue("asstacttype");
  805. * return new QFilter("itempayeetype", QCP.not_equals,asstacttype);
  806. * }
  807. * </code></pre>
  808. * </p>
  809. */
  810. addPaidFilter(model:$.kd.bos.entity.datamodel.IDataModel):$.kd.bos.orm.query.QFilter;
  811. /**
  812. * 描述:预付款结算提醒-付款单
  813. * "预付款结算提醒过滤条件扩展
  814. * @param model 页面模型对象
  815. * @return 扩展增加的付款单过滤条件
  816. * <p>
  817. * <pre><code>
  818. * @Override
  819. * public QFilter addPayFilter(IDataModel iDataModel) {
  820. * Object asstacttype = iDataModel.getValue("asstacttype");
  821. * return new QFilter("itempayeetype", QCP.not_equals,asstacttype);
  822. * }
  823. * </code></pre>
  824. * </p>
  825. */
  826. addPayFilter(model:$.kd.bos.entity.datamodel.IDataModel):$.kd.bos.orm.query.QFilter;
  827. }
  828. type IPaySettleWarnFilter_T = IPaySettleWarnFilter_S & IPaySettleWarnFilter$;
  829. interface IPaySettleWarnFilter extends IPaySettleWarnFilter_T {
  830. }
  831. interface IManualSettleCheck_S {
  832. }
  833. interface IManualSettleCheck$ {
  834. /**
  835. * 手工结算点击结算按钮前的校验扩展
  836. * @param view 页面模型对象
  837. * @return 校验通过还是失败
  838. * <p>
  839. * <pre><code>
  840. * package kd.fi.arapcommon.customer.ext;
  841. *
  842. * import kd.bos.dataentity.entity.DynamicObject;
  843. * import kd.bos.dataentity.resource.ResManager;
  844. * import kd.bos.form.IFormView;
  845. * import kd.bos.form.control.EntryGrid;
  846. * import kd.sdk.fi.ap.extpoint.settle.IManualSettleCheck;
  847. *
  848. * import java.util.HashSet;
  849. * import java.util.Set;
  850. *
  851. * public class ManualSettleCheck_Demo implements IManualSettleCheck {
  852. * public boolean check(IFormView view) {
  853. * EntryGrid mainGrid = view.getControl("mainbill");//主方表格
  854. * int[] mainSelectRows = mainGrid.getSelectRows();//主方选中行
  855. * EntryGrid asstGrid = view.getControl("asstbill");//辅方表格
  856. * int[] asstSelectRows = asstGrid.getSelectRows();//辅方选中行
  857. *
  858. * Set<String> mainContactSet = new HashSet<>(1);
  859. * for (int mainSelectRow : mainSelectRows) {
  860. * DynamicObject mainRow = view.getModel().getEntryRowEntity("mainbill", mainSelectRow);
  861. * mainContactSet.add(mainRow.getString("maincontact"));
  862. * }
  863. * if (mainContactSet.size() > 1){
  864. * //ResManager.loadKDString()多语言支持
  865. * view.showTipNotification(ResManager.loadKDString("主方的合同号必须相同", "ManualSettleCheck_Demo_1", "fi-arapcommon"));
  866. * return false;
  867. * }
  868. *
  869. * Set<String> asstContactSet = new HashSet<>(1);
  870. * for (int asstSelectRow : asstSelectRows) {
  871. * DynamicObject asstRow = view.getModel().getEntryRowEntity("asstbill", asstSelectRow);
  872. * asstContactSet.add(asstRow.getString("asstcontact"));
  873. * }
  874. * if (asstContactSet.size() > 1){
  875. * //ResManager.loadKDString()多语言支持
  876. * view.showTipNotification(ResManager.loadKDString("辅方的合同号必须相同", "ManualSettleCheck_Demo_2", "fi-arapcommon"));
  877. * return false;
  878. * }
  879. *
  880. * if(mainContactSet.size() == 1 && asstContactSet.size() == 1 &&
  881. * mainContactSet.iterator().next().equals(asstContactSet.iterator().next())){
  882. * return true;
  883. * }else{
  884. * //ResManager.loadKDString()多语言支持
  885. * view.showTipNotification(ResManager.loadKDString("主方和辅方的合同号必须一致才能结算", "ManualSettleCheck_Demo_3", "fi-arapcommon"));
  886. * return false;
  887. * }
  888. *
  889. * }
  890. * }
  891. * </code></pre>
  892. * </p>
  893. */
  894. check(view:$.kd.bos.form.IFormView):boolean;
  895. }
  896. type IManualSettleCheck_T = IManualSettleCheck_S & IManualSettleCheck$;
  897. interface IManualSettleCheck extends IManualSettleCheck_T {
  898. }
  899. interface IGetMaxBookDate_S {
  900. }
  901. interface IGetMaxBookDate$ {
  902. /**
  903. * 类描述:获取应付结算记录主辅方最大记账日期扩展 <br/>
  904. * 主要用于应付结算记录列表,修改结算日期时,校验结算日期是否晚于主辅方最大记账日期。 <br/>
  905. * 若不需要此校验,可实现此接口扩展,直接返回入参 maxDate;<br/>
  906. * 若不扩展此接口或者返回null,则继续保留标品校验逻辑 <br/>
  907. *
  908. * @param billIdsMap ( Map < String, Set < Long > >) -- key : 单据类型:ar_finarbill/ap_finapbill/cas_recbill/cas_paybill<br/>
  909. * -- value:对应单据类型的ID集合 <br/>
  910. * @param maxDate SettleSchemeVO java.util.Date <br/>
  911. * <p>扩展示例如下
  912. * <pre><code>
  913. * public Date getMaxBookDate(Map<String,Set<Long>> billIdsMap,Date maxDate){
  914. * if(billIdsMap.get("ar_finarbill") != null){
  915. * //存在财务应收单
  916. * DynamicObjectCollection finArBills = QueryServiceHelper.query("ar_finarbill",
  917. * "id,bookdate",
  918. * new QFilter[]{new QFilter("id",QCP.in,billIdsMap.get("ar_finarbill"))},"bookdate desc",1);
  919. * if(finArBills.size() > 0){
  920. * Date bookDate=finArBills.get(0).getDate("bookdate");
  921. * if(bookDate != null){
  922. * maxDate=maxDate.after(bookDate) ? maxDate : bookDate;
  923. * }
  924. * }
  925. * }
  926. * if(billIdsMap.get("ap_finapbill") != null){
  927. * //存在财务应付单
  928. * DynamicObjectCollection finApBills = QueryServiceHelper.query("ap_finapbill",
  929. * "id,bookdate",
  930. * new QFilter[]{new QFilter("id",QCP.in,billIdsMap.get("ap_finapbill"))},"bookdate desc",1);
  931. * if(finApBills.size() > 0){
  932. * Date bookDate=finApBills.get(0).getDate("bookdate");
  933. * if(bookDate != null){
  934. * maxDate=maxDate.after(bookDate) ? maxDate : bookDate;
  935. * }
  936. * }
  937. * }
  938. * return maxDate;
  939. * }
  940. * </code></pre>
  941. * </p>
  942. */
  943. getMaxBookDate(billIdsMap:$.java.util.Map,maxDate:Date):Date;
  944. }
  945. type IGetMaxBookDate_T = IGetMaxBookDate_S & IGetMaxBookDate$;
  946. interface IGetMaxBookDate extends IGetMaxBookDate_T {
  947. }
  948. }
  949. namespace kd.sdk.fi.ap.extpoint.woff{
  950. interface IAfterWoffProcess_S {
  951. }
  952. interface IAfterWoffProcess$ {
  953. /**
  954. * @param isWoff true代表冲回,false代表取消冲回
  955. * @param woffMode 冲回模式,WoffModeEnum.value
  956. * @param finBillIds 触发单到冲回的财务单ID
  957. * @param srcBusBillIds 最初被冲回的源暂估单ID
  958. * @param woffBillIds 生成的冲回单ID
  959. *
  960. * <p>扩展示例如下
  961. * <pre><code>
  962. * public class AfterWoffProcessDemo implements IAfterWoffProcess {
  963. * @Override
  964. * public void afterProcess(boolean isWoff, String woffMode, Set<Long> finBillIds, Set<Long> srcBusBillIds, List<Object> woffBillIds) {
  965. * // 非核心单据冲回直接返回不处理
  966. * if(!WoffModeEnum.COREBILL.getValue().equals(woffMode)) return;
  967. * // 不跨库,需要使用TX.required和原有事务保持一致;若需要跨库操作,需要开启新事务处理TX.requiresNew;
  968. * try (TXHandle tx = TX.required("invokeAfterWoffProcess.afterWoffProcess")) {
  969. * try {
  970. * // 处理冲回后处理,现场根据场景进行个性化开发
  971. * if(isWoff) {
  972. * // 冲回扩展逻辑
  973. * } else {
  974. * // 取消冲回扩展逻辑
  975. * }
  976. * } catch (Exception ex) {
  977. * tx.markRollback();
  978. * throw ex;
  979. * }
  980. * }
  981. * }
  982. * }
  983. * </code></pre>
  984. */
  985. afterProcess(isWoff:boolean,woffMode:string,finBillIds:$.java.util.Set,srcBusBillIds:$.java.util.Set,woffBillIds:$.java.util.List):void;
  986. }
  987. type IAfterWoffProcess_T = IAfterWoffProcess_S & IAfterWoffProcess$;
  988. interface IAfterWoffProcess extends IAfterWoffProcess_T {
  989. }
  990. interface IWoffMatchExt_S {
  991. }
  992. interface IWoffMatchExt$ {
  993. /**
  994. * 对冲回匹配条件追加个性化匹配条件,支持表头和物料明细属性,物料明细属性请携带分录标识
  995. * @param woffMode 冲回模式,WoffModeEnum.value
  996. * @param finEntityKey 财务单单据标识,可用于应收应付区分及标识处理
  997. * @return <财务单字段标识, 暂估单字段标识>
  998. *
  999. * <p>扩展示例如下
  1000. * <pre><code>
  1001. * public class WoffMatchExtDemo implements IWoffMatchExt {
  1002. * @Override
  1003. * public Map<String, String> moreMatchField(String woffMode, String finEntityKey) {
  1004. * Map<String, String> matchField = new HashMap<>(2);
  1005. * // 核心单据冲回追加匹配条件
  1006. * if(WoffModeEnum.COREBILL.getValue().equals(woffMode)) {
  1007. * if("ap_finapbill".equals(finEntityKey)) {
  1008. * // 若财务应收应付单字段标识不同请区分处理,物料明细属性请携带分录标识
  1009. * matchField.put("paycond", "paycond");// 付款条件
  1010. * matchField.put("detailentry.tracknumber", "entry.tracknumber");// 跟踪号
  1011. * }
  1012. * }
  1013. * return matchField;
  1014. * }
  1015. * }
  1016. * </code></pre>
  1017. */
  1018. moreMatchField(woffMode:string,finEntityKey:string):$.java.util.Map;
  1019. }
  1020. type IWoffMatchExt_T = IWoffMatchExt_S & IWoffMatchExt$;
  1021. interface IWoffMatchExt extends IWoffMatchExt_T {
  1022. }
  1023. }
  1024. namespace kd.sdk.fi.ar.extpoint.invoice{
  1025. interface IInvIssueCallback_S {
  1026. }
  1027. interface IInvIssueCallback$ {
  1028. /**
  1029. * 开票回调后处理
  1030. * @param callBackVoJson 对象kd.imc.bdm.common.dto.FiBotpCallBackVo.class的json
  1031. * @return
  1032. *
  1033. * <p>扩展示例如下
  1034. * <pre><code>
  1035. * import java.util.*
  1036. * import java.util.stream.Collectors;
  1037. * import com.alibaba.fastjson.JSONObject;
  1038. *
  1039. * import kd.bos.db.tx.TX;
  1040. * import kd.bos.db.tx.TXHandle;
  1041. * import kd.bos.servicehelper.botp.BFTrackerServiceHelper;
  1042. * import kd.fi.arapcommon.consts.EntityConst;
  1043. * import kd.fi.arapcommon.util.EmptyUtils;
  1044. * import kd.imc.bdm.common.dto.FiBotpCallBackArBillVo;
  1045. * import kd.imc.bdm.common.dto.FiBotpCallBackVo;
  1046. * import kd.sdk.fi.ar.extpoint.invoice.IInvIssueCallback;
  1047. *
  1048. * public class InvIssueCallbackImpl_Demo implements IInvIssueCallback {
  1049. *
  1050. * public void afterProcess(String callBackVoJson) {
  1051. * FiBotpCallBackVo callBackVo = JSONObject.parseObject(callBackVoJson, FiBotpCallBackVo.class);
  1052. * String invoiceCode = callBackVo.getInvoiceCode(); //发票代码
  1053. * String invoiceNo = callBackVo.getInvoiceNo(); //发票号码
  1054. * List<FiBotpCallBackArBillVo> arBillVos = callBackVo.getArs(); //应收单据集合
  1055. * List<Long> finPks = arBillVos.stream().map(FiBotpCallBackArBillVo::getArBillPk).collect(Collectors.toList());
  1056. * //可能跨库操作,开启新事务处理
  1057. * try (TXHandle tx = TX.requiresNew("InvIssueCallback.afterProcess")) {
  1058. * try {
  1059. * //找上游单据
  1060. * Map<String, HashSet<Long>> linkBills = BFTrackerServiceHelper.findSourceBills(EntityConst.ENTITY_FINARBILL, finPks.toArray(new Long[]{}));
  1061. * //上游单据
  1062. * Set<Long> srcPks = linkBills.get("sm_xxxbill");
  1063. * if (EmptyUtils.isNotEmpty(srcPks)) {
  1064. * // 查询上游单据,并更新上游单据
  1065. * // ...
  1066. * }
  1067. * } catch(Exception ex) {
  1068. * tx.markRollback();
  1069. * throw ex;
  1070. * }
  1071. * }
  1072. * }
  1073. * }
  1074. * </code></pre>
  1075. */
  1076. afterProcess(callBackVoJson:string):void;
  1077. }
  1078. type IInvIssueCallback_T = IInvIssueCallback_S & IInvIssueCallback$;
  1079. interface IInvIssueCallback extends IInvIssueCallback_T {
  1080. }
  1081. }
  1082. namespace kd.sdk.fi.ar.extpoint.plan{
  1083. interface IPlanRowSplit_S {
  1084. }
  1085. interface IPlanRowSplit$ {
  1086. /**
  1087. * 计划行拆分扩展点,支持可覆盖
  1088. * @param view 表单视图模型
  1089. *
  1090. * <p>扩展示例如下
  1091. * <pre><code>
  1092. * public class PlanRowSplitImpl_Demo implements IPlanRowSplit {
  1093. *
  1094. * public void splitPlanEntry(IFormView view) {
  1095. * IDataModel m = view.getModel();
  1096. * m.beginInit();
  1097. * DynamicObject dataEntity = m.getDataEntity(true);//获取页面模型的整个值对象
  1098. * String entityName = dataEntity.getDataEntityType().getName();//单据标识
  1099. * BillModel bm = BillModelFactory.getModel(entityName);//单据字段标识对象
  1100. *
  1101. * //1、删除计划行的所有数据
  1102. * m.deleteEntryData(bm.P_ENTRY);
  1103. *
  1104. * //2、根据业务处理计划行
  1105. * for (int i = 0; i < 2; i++) {
  1106. * //创建计划行
  1107. * int iRow = m.createNewEntryRow(bm.P_ENTRY, i, null);
  1108. * //计划行赋值
  1109. * m.setValue(bm.P_PLANDUEDATE, m.getValue(bm.HEAD_DUEDATE), iRow);
  1110. * m.setValue(bm.P_PLANSETTLETYPE, m.getValue(bm.HEAD_SETTLEMENTTYPE), iRow);
  1111. * BigDecimal priceTaxTotal = new BigDecimal("100");
  1112. * m.setValue(bm.P_PLANPRICETAX, priceTaxTotal, iRow);
  1113. * // ...
  1114. * }
  1115. * m.endInit();
  1116. * view.updateView(bm.P_ENTRY);
  1117. * }
  1118. * }
  1119. * </code></pre>
  1120. */
  1121. splitPlanEntry(view:$.kd.bos.form.IFormView):void;
  1122. }
  1123. type IPlanRowSplit_T = IPlanRowSplit_S & IPlanRowSplit$;
  1124. interface IPlanRowSplit extends IPlanRowSplit_T {
  1125. }
  1126. }
  1127. namespace kd.sdk.fi.ar.extpoint.settle{
  1128. interface IRecSettleWarnFilter_S {
  1129. }
  1130. interface IRecSettleWarnFilter$ {
  1131. /**
  1132. * 描述:预收款结算提醒-收款单
  1133. * "预收款结算提醒过滤条件扩展
  1134. * @param model 页面模型对象
  1135. * @return 扩展增加的付款单过滤条件
  1136. * <p>
  1137. * <pre><code>
  1138. * @Override
  1139. * public QFilter addRecFilter(IDataModel iDataModel) {
  1140. * Object asstacttype = iDataModel.getValue("asstacttype");
  1141. * return new QFilter("itempayeetype", QCP.not_equals,asstacttype);
  1142. * }
  1143. * </code></pre>
  1144. * </p>
  1145. */
  1146. addRecFilter(model:$.kd.bos.entity.datamodel.IDataModel):$.kd.bos.orm.query.QFilter;
  1147. /**
  1148. * 描述:预收款结算提醒-期初预收单
  1149. * "预收款结算提醒过滤条件扩展
  1150. * @param model 页面模型对象
  1151. * @return 扩展增加的付款单过滤条件
  1152. * <p>
  1153. * <pre><code>
  1154. * @Override
  1155. * public QFilter addReceiveFilter(IDataModel iDataModel) {
  1156. * Object asstacttype = iDataModel.getValue("asstacttype");
  1157. * return new QFilter("itempayeetype", QCP.not_equals,asstacttype);
  1158. * }
  1159. * </code></pre>
  1160. * </p>
  1161. */
  1162. addReceiveFilter(model:$.kd.bos.entity.datamodel.IDataModel):$.kd.bos.orm.query.QFilter;
  1163. }
  1164. type IRecSettleWarnFilter_T = IRecSettleWarnFilter_S & IRecSettleWarnFilter$;
  1165. interface IRecSettleWarnFilter extends IRecSettleWarnFilter_T {
  1166. }
  1167. }
  1168. namespace kd.sdk.fi.arapcommon.helper{
  1169. interface SettleServiceSDKHelper_S {
  1170. /**
  1171. * 应付冲应收指定金额结算
  1172. * @param assignSettleParam 指定结算参数
  1173. * @return 结算返回结果
  1174. */
  1175. apArAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1176. /**
  1177. * 应付冲应收非指定金额结算
  1178. * @param noAssignSettleParam 非指定结算参数
  1179. * @return 结算返回结果
  1180. */
  1181. apArNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1182. /**
  1183. * 应付付款指定金额结算
  1184. * @param assignSettleParam 指定结算参数
  1185. * @return 结算返回结果
  1186. */
  1187. apPayAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1188. /**
  1189. * 应付付款非指定金额结算
  1190. * @param noAssignSettleParam 非指定结算参数
  1191. * @return 结算返回结果
  1192. */
  1193. apPayNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1194. /**
  1195. * 应付红蓝对冲指定金额结算
  1196. * @param assignSettleParam 指定结算参数
  1197. * @return 结算返回结果
  1198. */
  1199. apSelfAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1200. /**
  1201. * 应付红蓝对冲非指定金额结算
  1202. * @param noAssignSettleParam 非指定结算参数
  1203. * @return 结算返回结果
  1204. */
  1205. apSelfNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1206. /**
  1207. * 应收冲应付指定金额结算
  1208. * @param assignSettleParam 指定结算参数
  1209. * @return 结算返回结果
  1210. */
  1211. arApAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1212. /**
  1213. * 应收冲应付非指定金额结算
  1214. * @param noAssignSettleParam 非指定结算参数
  1215. * @return 结算返回结果
  1216. */
  1217. arApNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1218. /**
  1219. * 应收收款指定金额结算
  1220. * @param assignSettleParam 指定结算参数
  1221. * @return 结算返回结果
  1222. */
  1223. arRecAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1224. /**
  1225. * 应收收款非指定金额结算
  1226. * @param noAssignSettleParam 非指定结算参数
  1227. * @return 结算返回结果
  1228. */
  1229. arRecNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1230. /**
  1231. * 应收红蓝对冲指定金额结算
  1232. * @param assignSettleParam 指定结算参数
  1233. * @return 结算返回结果
  1234. */
  1235. arSelfAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1236. /**
  1237. * 应收红蓝对冲非指定金额结算
  1238. * @param noAssignSettleParam 非指定结算参数
  1239. * @return 结算返回结果
  1240. */
  1241. arSelfNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1242. /**
  1243. * 付款冲收款指定金额结算
  1244. * @param assignSettleParam 指定结算参数
  1245. * @return 结算返回结果
  1246. */
  1247. payRecAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1248. /**
  1249. * 付款冲收款非指定金额结算
  1250. * @param noAssignSettleParam 非指定结算参数
  1251. * @return 结算返回结果
  1252. */
  1253. payRecNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1254. /**
  1255. * 付款红蓝对冲指定金额结算
  1256. * @param assignSettleParam 指定结算参数
  1257. * @return 结算返回结果
  1258. */
  1259. paySelfAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1260. /**
  1261. * 付款红蓝对冲非指定金额结算
  1262. * @param noAssignSettleParam 非指定结算参数
  1263. * @return 结算返回结果
  1264. */
  1265. paySelfNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1266. /**
  1267. * 收款冲付款指定金额结算
  1268. * @param assignSettleParam 指定结算参数
  1269. * @return 结算返回结果
  1270. */
  1271. recPayAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1272. /**
  1273. * 收款冲付款非指定金额结算
  1274. * @param noAssignSettleParam 非指定结算参数
  1275. * @return 结算返回结果
  1276. */
  1277. recPayNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1278. /**
  1279. * 收款红蓝对冲指定金额结算
  1280. * @param assignSettleParam 指定结算参数
  1281. * @return 结算返回结果
  1282. */
  1283. recSelfAssignSettle(assignSettleParam:kd.sdk.fi.arapcommon.param.AssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1284. /**
  1285. * 收款红蓝对冲非指定金额结算
  1286. * @param noAssignSettleParam 非指定结算参数
  1287. * @return 结算返回结果
  1288. */
  1289. recSelfNoAssignSettle(noAssignSettleParam:kd.sdk.fi.arapcommon.param.NoAssignSettleParam):kd.sdk.fi.arapcommon.param.SettleResult;
  1290. }
  1291. interface SettleServiceSDKHelper_C extends SettleServiceSDKHelper_S {
  1292. new():SettleServiceSDKHelper;
  1293. }
  1294. interface SettleServiceSDKHelper$ {
  1295. }
  1296. type SettleServiceSDKHelper_T = SettleServiceSDKHelper_S & SettleServiceSDKHelper$;
  1297. interface SettleServiceSDKHelper extends SettleServiceSDKHelper_T {
  1298. }
  1299. interface ReportQuerySDKHelper_S {
  1300. apAcctageAccountReportQuery(param:kd.sdk.fi.arapcommon.param.ReportQueryParam):$.kd.bos.algo.DataSet;
  1301. apDetailReportQuery(param:kd.sdk.fi.arapcommon.param.ReportQueryParam):$.kd.bos.algo.DataSet;
  1302. apSumReportQuery(param:kd.sdk.fi.arapcommon.param.ReportQueryParam):$.kd.bos.algo.DataSet;
  1303. arAcctageAccountReportQuery(param:kd.sdk.fi.arapcommon.param.ReportQueryParam):$.kd.bos.algo.DataSet;
  1304. arDetailReportQuery(param:kd.sdk.fi.arapcommon.param.ReportQueryParam):$.kd.bos.algo.DataSet;
  1305. arSumReportQuery(param:kd.sdk.fi.arapcommon.param.ReportQueryParam):$.kd.bos.algo.DataSet;
  1306. }
  1307. interface ReportQuerySDKHelper_C extends ReportQuerySDKHelper_S {
  1308. new():ReportQuerySDKHelper;
  1309. }
  1310. interface ReportQuerySDKHelper$ {
  1311. }
  1312. type ReportQuerySDKHelper_T = ReportQuerySDKHelper_S & ReportQuerySDKHelper$;
  1313. interface ReportQuerySDKHelper extends ReportQuerySDKHelper_T {
  1314. }
  1315. }
  1316. namespace kd.sdk.fi.arapcommon.param{
  1317. interface NoAssignSettleParam_S {
  1318. }
  1319. type NoAssignSettleParam_ST = $.java.io.Serializable & BaseSettleParam_S & NoAssignSettleParam_S;
  1320. interface NoAssignSettleParam_C extends NoAssignSettleParam_ST {
  1321. new():NoAssignSettleParam;
  1322. /**
  1323. * 构造方法
  1324. * @param orgId 组织id
  1325. * @param settleType 结算方式
  1326. */
  1327. new(orgId:long,settleType:string):NoAssignSettleParam;
  1328. }
  1329. interface NoAssignSettleParam$ {
  1330. getAsstBillIds():$.java.util.Set;
  1331. getMainBillIds():$.java.util.Set;
  1332. isMainOp():boolean;
  1333. isOnlyByBotp():boolean;
  1334. setAsstBillIds(asstBillIds:$.java.util.Set):void;
  1335. setMainBillIds(mainBillIds:$.java.util.Set):void;
  1336. setMainOp(mainOp:boolean):void;
  1337. setOnlyByBotp(onlyByBotp:boolean):void;
  1338. }
  1339. type NoAssignSettleParam_T = BaseSettleParam & $.java.io.Serializable & NoAssignSettleParam_S & NoAssignSettleParam$;
  1340. interface NoAssignSettleParam extends NoAssignSettleParam_T {
  1341. }
  1342. interface AssignSettleParam_S {
  1343. }
  1344. type AssignSettleParam_ST = BaseSettleParam_S & AssignSettleParam_S;
  1345. interface AssignSettleParam_C extends AssignSettleParam_ST {
  1346. new():AssignSettleParam;
  1347. /**
  1348. * 构造方法
  1349. * @param orgId 组织id
  1350. * @param settleType 结算方式
  1351. * @param settleDetailType 明细结算方式(按单据头或者按分录)
  1352. */
  1353. new(orgId:long,settleType:string,settleDetailType:string):AssignSettleParam;
  1354. }
  1355. interface AssignSettleParam$ {
  1356. getAsstDetailParamList():$.java.util.List;
  1357. getMainDetailParamList():$.java.util.List;
  1358. getSettleDetailType():string;
  1359. setAsstDetailParamList(asstDetailParamList:$.java.util.List):void;
  1360. setMainDetailParamList(mainDetailParamList:$.java.util.List):this;
  1361. setSettleDetailType(settleDetailType:string):void;
  1362. }
  1363. type AssignSettleParam_T = BaseSettleParam & AssignSettleParam_S & AssignSettleParam$;
  1364. interface AssignSettleParam extends AssignSettleParam_T {
  1365. }
  1366. interface BaseSettleParam_S {
  1367. }
  1368. type BaseSettleParam_ST = $.java.io.Serializable & BaseSettleParam_S;
  1369. interface BaseSettleParam_C extends BaseSettleParam_ST {
  1370. new():BaseSettleParam;
  1371. }
  1372. interface BaseSettleParam$ {
  1373. getAsstEntity():string;
  1374. getMainEntity():string;
  1375. getMatchServiceClass():string;
  1376. getOrgId():long;
  1377. getSettleDate():Date;
  1378. getSettleType():string;
  1379. isClaim():boolean;
  1380. isConfirmLogo():boolean;
  1381. isContainPre():boolean;
  1382. isDiffCurrencySettle():boolean;
  1383. isLockWait():boolean;
  1384. isMatchDiffCurrency():boolean;
  1385. isNotNeedLock():boolean;
  1386. isOnlyByConBill():boolean;
  1387. isOnlyByCoreBill():boolean;
  1388. isRefundAndRenote():boolean;
  1389. isRefundByBotp():boolean;
  1390. setAsstEntity(asstEntity:string):void;
  1391. setClaim(claim:boolean):void;
  1392. setConfirmLogo(confirmLogo:boolean):void;
  1393. setContainPre(containPre:boolean):void;
  1394. setDiffCurrencySettle(diffCurrencySettle:boolean):void;
  1395. setLockWait(lockWait:boolean):void;
  1396. setMainEntity(mainEntity:string):void;
  1397. setMatchDiffCurrency(matchDiffCurrency:boolean):void;
  1398. setMatchServiceClass(matchServiceClass:string):void;
  1399. setNotNeedLock(notNeedLock:boolean):void;
  1400. setOnlyByConBill(onlyByConBill:boolean):void;
  1401. setOnlyByCoreBill(onlyByCoreBill:boolean):void;
  1402. setOrgId(orgId:long):void;
  1403. setRefundAndRenote(refundAndRenote:boolean):void;
  1404. setRefundByBotp(refundByBotp:boolean):void;
  1405. setSettleDate(settleDate:Date):void;
  1406. setSettleType(settleType:string):void;
  1407. }
  1408. type BaseSettleParam_T = $.java.io.Serializable & BaseSettleParam_S & BaseSettleParam$;
  1409. interface BaseSettleParam extends BaseSettleParam_T {
  1410. }
  1411. interface ReportQueryParam_S {
  1412. }
  1413. type ReportQueryParam_ST = $.java.io.Serializable & ReportQueryParam_S;
  1414. interface ReportQueryParam_C extends ReportQueryParam_ST {
  1415. new():ReportQueryParam;
  1416. }
  1417. interface ReportQueryParam$ {
  1418. getCommonFs():$.kd.bos.orm.query.QFilter;
  1419. getConfigId():long;
  1420. getCustomParam():$.java.util.Map;
  1421. getPrincipleProcessParam():$.java.util.Map;
  1422. getShowKeyCols():$.java.util.Set;
  1423. getShowQtyCols():$.java.util.Set;
  1424. getSumKeyCols():$.java.util.Set;
  1425. isShowTotalQty():boolean;
  1426. setCommonFs(commonFs:$.kd.bos.orm.query.QFilter):void;
  1427. setConfigId(configId:long):void;
  1428. setCustomParam(customParam:$.java.util.Map):void;
  1429. setPrincipleProcessParam(principleProcessParam:$.java.util.Map):void;
  1430. setShowKeyCols(showKeyCols:$.java.util.Set):void;
  1431. setShowQtyCols(showQtyCols:$.java.util.Set):void;
  1432. setShowTotalQty(showTotalQty:boolean):void;
  1433. setSumKeyCols(sumKeyCols:$.java.util.Set):void;
  1434. }
  1435. type ReportQueryParam_T = $.java.io.Serializable & ReportQueryParam_S & ReportQueryParam$;
  1436. interface ReportQueryParam extends ReportQueryParam_T {
  1437. }
  1438. interface SettleResult_S {
  1439. }
  1440. type SettleResult_ST = $.java.io.Serializable & SettleResult_S;
  1441. interface SettleResult_C extends SettleResult_ST {
  1442. new():SettleResult;
  1443. }
  1444. interface SettleResult$ {
  1445. getData():any;
  1446. getSettleRecordPKs():$.java.util.List;
  1447. setData(data:any):void;
  1448. setSettleRecordPKs(settleRecordPKs:$.java.util.List):void;
  1449. }
  1450. type SettleResult_T = $.java.io.Serializable & SettleResult_S & SettleResult$;
  1451. interface SettleResult extends SettleResult_T {
  1452. }
  1453. }
  1454. namespace kd.sdk.fi.bd.service.balance{
  1455. interface RecalLogParam_S {
  1456. }
  1457. type RecalLogParam_ST = $.java.io.Serializable & RecalLogParam_S;
  1458. interface RecalLogParam_C extends RecalLogParam_ST {
  1459. new():RecalLogParam;
  1460. }
  1461. interface RecalLogParam$ {
  1462. getBookTypeIds():long[];
  1463. getOrgIds():long[];
  1464. setBookTypeIds(bookTypeIds:long[]):void;
  1465. setOrgIds(orgIds:long[]):void;
  1466. }
  1467. type RecalLogParam_T = $.java.io.Serializable & RecalLogParam_S & RecalLogParam$;
  1468. interface RecalLogParam extends RecalLogParam_T {
  1469. }
  1470. interface QueryParam_S {
  1471. }
  1472. type QueryParam_ST = $.java.io.Serializable & QueryParam_S;
  1473. interface QueryParam_C extends QueryParam_ST {
  1474. new():QueryParam;
  1475. }
  1476. interface QueryParam$ {
  1477. getAccountFilter():$.kd.bos.orm.query.QFilter;
  1478. getAccountVersionPeriodId():long;
  1479. getAssGrpIds():$.java.util.Set;
  1480. getCurrencyIds():long[];
  1481. getCustomFilter():$.java.util.List;
  1482. getMeasureUnitIds():long[];
  1483. isAddAmountFilter():boolean;
  1484. isOnlyLeafAcctBal():boolean;
  1485. isSpecialAccount():boolean;
  1486. isSubstractPL():boolean;
  1487. isSumAssgrp():boolean;
  1488. isZeroAmtNoDisplay():boolean;
  1489. isZeroBalNoDisplay():boolean;
  1490. setAccountFilter(accountFilter:$.kd.bos.orm.query.QFilter):void;
  1491. setAccountVersionPeriodId(accountVersionPeriodId:long):void;
  1492. setAddAmountFilter(isAddAmountFilter:boolean):void;
  1493. setAssGrpIds(assGrpIds:$.java.util.Set):void;
  1494. setCurrencyIds(currencyIds:long[]):void;
  1495. setCustomFilter(customFilter:$.java.util.List):void;
  1496. setMeasureUnitIds(measureUnitIds:long[]):void;
  1497. setOnlyLeafAcctBal(isOnlyLeafAcctBal:boolean):void;
  1498. setSpecialAccount(isSpecialAccount:boolean):void;
  1499. setSubstractPL(isSubstractPL:boolean):void;
  1500. setSumAssgrp(sumAssgrp:boolean):void;
  1501. setZeroAmtNoDisplay(zeroAmtNoDisplay:boolean):void;
  1502. setZeroBalNoDisplay(zeroBalNoDisplay:boolean):void;
  1503. }
  1504. type QueryParam_T = $.java.io.Serializable & QueryParam_S & QueryParam$;
  1505. interface QueryParam extends QueryParam_T {
  1506. }
  1507. interface BalanceExecutorSdk_S {
  1508. /**
  1509. * 根据参数查询科目余额表,返回不限制数据量的DataSet
  1510. *
  1511. * @param selector 需要查询的字段 例:"org,booktype,account,assgrp,endlocal" 如果查询字段包含period则只查询条件范围内有发生额的科目余额数据
  1512. *
  1513. * @param orgIds 核算组织id
  1514. * @param bookTypeId 账簿类型id
  1515. * @param accountTableId 科目表id
  1516. * @param beginPeriodId 查询的开始期间
  1517. * @param endPeriodId 查询的结束期间 查询一个期间的数据则与开始期间一致即可
  1518. * @param param 其他查询参数
  1519. *
  1520. * @return 科目余额Dataset数据
  1521. *
  1522. * <pre> <code>
  1523. * 调用示例:
  1524. *
  1525. * 构造相关参数
  1526. * String selector="org,booktype,account,assgrp,endlocal";
  1527. * Long[] orgIds=new Long[]{0001};
  1528. * long bookTypeId =1L;
  1529. * long accountTableId = 1L;
  1530. * long beginPeriodId = 120220080L;
  1531. * long endPeriodId =120220080L;
  1532. * QueryParam param =new QueryParam();
  1533. * 调用接口查询 并对返回的DataSet进行处理
  1534. * try(DataSet ds= kd.sdk.fi.bd.service.balance.BalanceExecutorSdk.getBalance(selector,orgIds,bookTypeId,accountTableId,beginPeriodId,endPeriodId,param)){
  1535. * for(Row row:ds){
  1536. * BigDecimal endlocal=row.getBigDecimal("endlocal");
  1537. * ...
  1538. * }
  1539. * };
  1540. *
  1541. * </code></pre>
  1542. */
  1543. getBalance(selector:string,orgIds:long[],bookTypeId:long,accountTableId:long,beginPeriodId:long,endPeriodId:long,param:QueryParam):$.kd.bos.algo.DataSet;
  1544. /**
  1545. * 根据参数查询科目余额表,返回不限制数据量的DataSet
  1546. *
  1547. * @param selector 需要查询的字段 例:"org,booktype,account,assgrp,endlocal" 如果查询字段包含period则只查询条件范围内有发生额的科目余额数据
  1548. *
  1549. * @param orgIds 核算组织id
  1550. * @param bookTypeId 账簿类型id
  1551. * @param accountTableId 科目表id
  1552. * @param beginPeriodId 查询的开始期间
  1553. * @param endPeriodId 查询的结束期间 查询一个期间的数据则与开始期间一致即可
  1554. * @param param 其他查询参数
  1555. * @param flexFilter 核算维度过滤条件:只要指定了核算维度过滤条件,构建相应的inner join过滤条件
  1556. *
  1557. * @return 科目余额Dataset数据
  1558. *
  1559. * <pre> <code>
  1560. * 调用示例:
  1561. *
  1562. * 构造相关参数
  1563. * String selector = "account,beginlocal,debitlocal,creditlocal,endlocal";
  1564. * long bookTypeId = 237528347981256704L;
  1565. * long accountTableId = 1974724534976457728L;
  1566. * long beginPeriodId = 120240010L;
  1567. * long endPeriodId = 120240010L;
  1568. * long orgid = 1974719168960077824L;//少林
  1569. * Long[] orgIds = new Long[]{orgid};
  1570. * long currencyId = 1L;//币别
  1571. * Long[] currencyIds = new Long[]{currencyId};
  1572. * QueryParam querParam = new QueryParam();
  1573. * // 不传,查所有币别
  1574. * querParam.setCurrencyIds(currencyIds);
  1575. * Map<String, Set<Object>> flexFilter = new HashMap<>(8);
  1576. * flexFilter.put("f0001", new HashSet<Object>(){{add(1401309412475298816L);}});
  1577. * flexFilter.put("f000005", new HashSet<Object>());
  1578. * flexFilter.put("f000099", new HashSet<Object>(){{add("123");add("456");}});
  1579. * 调用接口查询 并对返回的DataSet进行处理
  1580. * try(DataSet ds= kd.sdk.fi.bd.service.balance.BalanceExecutorSdk.getBalanceWithAssistFilter
  1581. * (selector,orgIds,bookTypeId,accountTableId,beginPeriodId,endPeriodId,param,flexFilter)){
  1582. * for(Row row:ds){
  1583. * BigDecimal endlocal=row.getBigDecimal("endlocal");
  1584. * ...
  1585. * }
  1586. * };
  1587. *
  1588. * </code></pre>
  1589. */
  1590. getBalanceWithAssistFilter(selector:string,orgIds:long[],bookTypeId:long,accountTableId:long,beginPeriodId:long,endPeriodId:long,param:QueryParam,flexFilter:$.java.util.Map):$.kd.bos.algo.DataSet;
  1591. /**
  1592. * @Description 重算余额和现金流量日志
  1593. * @param param 查询参数
  1594. *
  1595. * <pre> <code>
  1596. * 调用示例:
  1597. * RecalLogParam recalLogParam = new RecalLogParam();
  1598. * recalLogParam.setOrgIds(new long[]{1630503722540880896L});
  1599. * BalanceExecutorSdk.recalBalanceAndCashflowLog(recalLogParam);
  1600. * </code></pre>
  1601. */
  1602. recalBalanceAndCashflowLog(param:RecalLogParam):$.kd.bos.algo.DataSet;
  1603. }
  1604. interface BalanceExecutorSdk_C extends BalanceExecutorSdk_S {
  1605. new():BalanceExecutorSdk;
  1606. }
  1607. interface BalanceExecutorSdk$ {
  1608. }
  1609. type BalanceExecutorSdk_T = BalanceExecutorSdk_S & BalanceExecutorSdk$;
  1610. interface BalanceExecutorSdk extends BalanceExecutorSdk_T {
  1611. }
  1612. }
  1613. namespace kd.sdk.fi.bd.service.cdc{
  1614. interface CDCServiceGLIntegratorSDK_S {
  1615. /**
  1616. * 触发凭证摘要集成
  1617. * <p>
  1618. * 凭证更新事务提交后,请求同步ES,内部异步实现,无需关注结果
  1619. *
  1620. * @param operationType 变动类型
  1621. * @param voucherIdColl 凭证ID集合
  1622. * @return 触发成功?
  1623. */
  1624. raiseCDCEvent(operationType:CDCRecOperationTypeEnum,voucherIdColl:$.java.util.Collection):boolean;
  1625. }
  1626. interface CDCServiceGLIntegratorSDK_C extends CDCServiceGLIntegratorSDK_S {
  1627. new():CDCServiceGLIntegratorSDK;
  1628. }
  1629. interface CDCServiceGLIntegratorSDK$ {
  1630. /**
  1631. * 注册凭证摘要变动记录
  1632. * <p>
  1633. * 凭证更新事务中,凭证保存执行完毕,调用同步注册凭证变动记录
  1634. *
  1635. * @param operationType 变动类型
  1636. * @param voucherIdColl 凭证ID集合
  1637. * @return 注册成功?
  1638. */
  1639. registerCDCChangedRecord(operationType:CDCRecOperationTypeEnum,voucherIdColl:$.java.util.Collection):boolean;
  1640. }
  1641. type CDCServiceGLIntegratorSDK_T = CDCServiceGLIntegratorSDK_S & CDCServiceGLIntegratorSDK$;
  1642. interface CDCServiceGLIntegratorSDK extends CDCServiceGLIntegratorSDK_T {
  1643. }
  1644. enum CDCRecOperationTypeEnum {
  1645. New,
  1646. Update,
  1647. Delete
  1648. }
  1649. }
  1650. namespace kd.sdk.fi.cal.extpoint.bal{
  1651. interface CalBalDataSDK_S {
  1652. getBalDataForCache(qFilter:$.kd.bos.orm.query.QFilter):string;
  1653. }
  1654. interface CalBalDataSDK_C extends CalBalDataSDK_S {
  1655. new():CalBalDataSDK;
  1656. }
  1657. interface CalBalDataSDK$ {
  1658. }
  1659. type CalBalDataSDK_T = CalBalDataSDK_S & CalBalDataSDK$;
  1660. interface CalBalDataSDK extends CalBalDataSDK_T {
  1661. }
  1662. }
  1663. namespace kd.sdk.fi.cal.extpoint.calintime{
  1664. interface ICalMoveGroupCost_S {
  1665. }
  1666. interface ICalMoveGroupCost$ {
  1667. /**
  1668. * @function 缓冲池计算实时移动成组成本加价处理
  1669. * @param acctRecIdEleCostMap
  1670. * 分项:key:成本账簿ID+ "|" + 成本记录分录id + "|" + 成本子要素ID
  1671. * 不分项:key:成本账簿ID+ "|" + 成本记录分录id + "|" + “materialcost”(材料成本)
  1672. * 或 “processcost”(加工费) 或 “fee”(费用) 或 “manufacturecost”(制造费用) 或 “RESOURCE”(资源费用)
  1673. * value:对应金额
  1674. * @param entity 库存业务对象编码
  1675. * @param bizBillIds 业务单据id
  1676. * @return void
  1677. * <pre><code>
  1678. * package kd.sdk.fi.cal.extpoint.calintime;
  1679. *
  1680. * import kd.bos.algo.DataSet;
  1681. * import kd.bos.algo.Row;
  1682. * import kd.bos.orm.query.QCP;
  1683. * import kd.bos.orm.query.QFilter;
  1684. * import kd.bos.servicehelper.QueryServiceHelper;
  1685. *
  1686. * import java.math.BigDecimal;
  1687. * import java.util.HashSet;
  1688. * import java.util.Map;
  1689. * import java.util.Set;
  1690. *
  1691. * public class CalMoveGroupCostTest implements ICalMoveGroupCost{
  1692. * @Override
  1693. * public void doCalGroupCostEx(Map<String, BigDecimal> acctRecIdEleCostMap, String entity, Set<Long> bizBillIds) {
  1694. * String splitStr = "|";
  1695. * DataSet costRecordDs = getCostRecordDs(acctRecIdEleCostMap, bizBillIds);
  1696. * for (Row row : costRecordDs) {
  1697. * Long costAcctId = row.getLong("costaccount");
  1698. * Long costRecEid = row.getLong("entryid");
  1699. * Long costSubelEment = row.getLong("costsubelement");
  1700. * //key:成本账簿ID+ "|" + 成本记录分录id + "|" + 成本子要素ID,value:对应金额
  1701. * String key;
  1702. * //成本账簿-核算政策-启用分项结转
  1703. * if(row.getBoolean("calbycostelement")){
  1704. * key = costAcctId + splitStr + costRecEid + splitStr + costSubelEment;
  1705. * }else {
  1706. * //不分项材料成本单价增加一块钱 材料成本(materialcost)加工费(processcost)费用(fee)制造费用(manufacturecost)资源费用(resource)
  1707. * key = costAcctId + splitStr + costRecEid + splitStr + "materialcost";
  1708. * }
  1709. * //源单成本
  1710. * BigDecimal srcCost = acctRecIdEleCostMap.get(key);
  1711. * if(srcCost == null){
  1712. * continue;
  1713. * }
  1714. * BigDecimal baseqty = row.getBigDecimal("baseqty");
  1715. * //单价增加一块钱
  1716. * BigDecimal addCost = srcCost.add(BigDecimal.ONE.multiply(baseqty));
  1717. * //返回数据
  1718. * acctRecIdEleCostMap.put(key, addCost);
  1719. * }
  1720. * }
  1721. *
  1722. * private DataSet getCostRecordDs(Map<String, BigDecimal> acctRecIdEleCostMap, Set<Long> bizBillIds) {
  1723. * //成本账簿id
  1724. * Set<Long> costAcctIds = new HashSet<>(16);
  1725. * //成本记录分录id
  1726. * Set<Long> recEids = new HashSet<>(16);
  1727. * for (Map.Entry<String, BigDecimal> entry : acctRecIdEleCostMap.entrySet()) {
  1728. * String key = entry.getKey();
  1729. * String[] keySplit = key.split("\\|");
  1730. * //成本账簿
  1731. * String costAcctIdStr = keySplit[0];
  1732. * //成本记录分录id
  1733. * String calEidStr = keySplit[1];
  1734. * costAcctIds.add(Long.valueOf(costAcctIdStr));
  1735. * recEids.add(Long.valueOf(calEidStr));
  1736. * }
  1737. * //业务单据id(库存单据id)
  1738. * QFilter bizBillIdFilter = new QFilter("bizbillid", QCP.in, bizBillIds);
  1739. * QFilter eIdFilter = new QFilter("entry.id", QCP.in, recEids);
  1740. * String sels = "bizentityobject,bizbillid,costaccount,entry.calentryid as calentryid,entry.id as entryid,entry.baseqty as baseqty,entry.subentrycostelement.costsubelement as costsubelement,costaccount.calpolicy.calbycostelement as calbycostelement";
  1741. * //查询成本记录信息
  1742. * DataSet costRecordDs = QueryServiceHelper.queryDataSet(this.getClass().getName(),
  1743. * "cal_costrecord_subentity", sels, new QFilter[]{bizBillIdFilter, eIdFilter}, null);
  1744. * return costRecordDs;
  1745. * }
  1746. *
  1747. * }
  1748. *
  1749. * </code></pre>
  1750. */
  1751. doCalGroupCostEx(acctRecIdEleCostMap:$.java.util.Map,entity:string,bizBillIds:$.java.util.Set):void;
  1752. }
  1753. type ICalMoveGroupCost_T = ICalMoveGroupCost_S & ICalMoveGroupCost$;
  1754. interface ICalMoveGroupCost extends ICalMoveGroupCost_T {
  1755. }
  1756. }
  1757. namespace kd.sdk.fi.cal.extpoint.costrecord{
  1758. interface IQueueTypeMatch_S {
  1759. }
  1760. interface IQueueTypeMatch$ {
  1761. /**
  1762. * 获取序列类型
  1763. * @param costAccountId 成本账簿ID
  1764. * @param bizEntityObject 业务对象
  1765. * @param billId 业务单据ID
  1766. * @return queueType: "0"为入库序列,"1"为出库序列,其余结果无效
  1767. *
  1768. * <p>扩展示例如下
  1769. * <pre><code>
  1770. * package kd.sdk.fi.cal.extpoint.costrecord;
  1771. *
  1772. * import kd.bos.dataentity.entity.DynamicObject;
  1773. * import kd.bos.orm.query.QFilter;
  1774. * import kd.bos.servicehelper.QueryServiceHelper;
  1775. * import kd.bos.util.StringUtils;
  1776. * import kd.sdk.fi.cal.extpoint.costrecord.IQueueTypeMatch;
  1777. *
  1778. * public class SrcBill4QueuePlugin_Test implements IQueueTypeMatch {
  1779. *
  1780. * public String getQueueType(Long costAccountId, String bizEntityObject, Long billId) {
  1781. * //非销售出库单 或者 账簿不等于指定账簿,直接返回
  1782. * if(!bizEntityObject.equals("im_saloutbill") || costAccountId != 88888888L){
  1783. * return null;
  1784. * }
  1785. * QFilter q = new QFilter("bizbillid", "=", billId);
  1786. * q.and("costaccount.ismainaccount", "=", true);
  1787. * DynamicObject info = QueryServiceHelper.queryOne("cal_costrecord", "id,period,entry.srcbillentity,entry.srcbillid", q.toArray());
  1788. * //没有成本记录,则无需判断插件逻辑,直接返回
  1789. * if(info == null){
  1790. * return null;
  1791. * }
  1792. * String srcMainEntity = info.getString("entry.srcbillentity");
  1793. * //来源单类型为空,直接返回
  1794. * if(StringUtils.isEmpty(srcMainEntity)){
  1795. * return null;
  1796. * }
  1797. * long period = info.getLong("period");
  1798. * long srcBillId = info.getLong("entry.srcbillid");
  1799. * DynamicObject srcInfo = null;
  1800. * //源单类型相同,都是销售出库单
  1801. * if(bizEntityObject.equals(srcMainEntity)){
  1802. * q = new QFilter("bizbillid", "=", srcBillId);
  1803. * q.and("costaccount.ismainaccount", "=", true);
  1804. * //源单
  1805. * srcInfo = QueryServiceHelper.queryOne("cal_costrecord", "id,period,entry.srcbillentity,entry.srcbillid", q.toArray());
  1806. * //VMI红字销售出库单源单蓝字销售出库单为物流单不进核算
  1807. * if(srcInfo == null){
  1808. * return null;
  1809. * }
  1810. * long srcPeriod = srcInfo.getLong("period");
  1811. * //源单类型=销售出库单且源单为往期(期间不等)
  1812. * if(period != srcPeriod){
  1813. * //返回为入库序列
  1814. * return "0";
  1815. * }
  1816. * }
  1817. * return null;
  1818. * }
  1819. * }
  1820. * </code></pre>
  1821. */
  1822. getQueueType(costAccountId:long,bizEntityObject:string,billId:long):string;
  1823. }
  1824. type IQueueTypeMatch_T = IQueueTypeMatch_S & IQueueTypeMatch$;
  1825. interface IQueueTypeMatch extends IQueueTypeMatch_T {
  1826. }
  1827. }
  1828. namespace kd.sdk.fi.cal.extpoint.groupcostacct{
  1829. interface ICalGroupCostAcct_S {
  1830. }
  1831. interface ICalGroupCostAcct$ {
  1832. /**
  1833. * @function 集团成本排除单据、不排除单据扩展点,注意只支持整单排除
  1834. * @param entity cal_costrecord(成本记录)、cal_costadjustbill(成本调整单)、cal_stdcostdiffbill(标准成本差异单)
  1835. * @param srcBillDs 法人账单据数据,其中 "needgen" 字段为true时表示需要生成集团单据,为false时标识不需要生成集团单据
  1836. * @return kd.bos.algo.DataSet
  1837. * 法人账单据数据,需要生成集团单据则设置 "needgen" 字段为true,不需要生成集团单据则设置 "needgen" 字段为false
  1838. * <pre><code>
  1839. * package kd.sdk.fi.cal.extpoint.groupcostacct;
  1840. *
  1841. * import kd.bos.algo.DataSet;
  1842. * import kd.bos.algo.Field;
  1843. * import kd.bos.algo.MapFunction;
  1844. * import kd.bos.algo.Row;
  1845. * import kd.bos.algo.RowMeta;
  1846. *
  1847. * import java.util.HashSet;
  1848. * import java.util.Set;
  1849. *
  1850. * //集团成本排除单据、不排除单据扩展测试
  1851. * public class ICalGroupCostAcctTest implements ICalGroupCostAcct{
  1852. *
  1853. * //
  1854. * // @function 获取排除单据需要的字段,可以避免二开接口需要再次查询数据库。
  1855. * // 注意: 如果标准的单据字段已经可以判断,则可以不实现该扩展逻辑,可以直接返回null或空集合
  1856. * // @param entity cal_costrecord(成本记录)、cal_costadjustbill(成本调整单)、cal_stdcostdiffbill(标准成本差异单)
  1857. * // @return java.util.Set<java.lang.String>
  1858. * //
  1859. * @Override
  1860. * public Set<String> getExcludeNeedBillFields(String entity) {
  1861. * //单据字段全路径,例如成本记录物料字段:entry.material as material_ext (注意别名加上二开后缀"_ext",避免字段重复报错)
  1862. * Set<String> extFields = new HashSet<>(16);
  1863. * //成本记录
  1864. * if("cal_costrecord".equals(entity)) {
  1865. * extFields.add("entry.material as material_ext");
  1866. * }
  1867. * return extFields;
  1868. * }
  1869. *
  1870. * // @function 根据单据信息,设置"needgen" 字段为true时表示需要生成集团单据,为false时标识不需要生成集团单据
  1871. * // @param entity entity cal_costrecord(成本记录)、cal_costadjustbill(成本调整单)、cal_stdcostdiffbill(标准成本差异单)
  1872. * // @param srcBillDs
  1873. * // @return kd.bos.algo.DataSet
  1874. * @Override
  1875. * public DataSet dealGroupAcctBillExclude(String entity, DataSet srcBillDs) {
  1876. * //其中 "needgen" 字段为true时表示需要生成集团单据,为false时标识不需要生成集团单据
  1877. * ExtGroupAcctBillExcludeFunc extFunc = new ExtGroupAcctBillExcludeFunc(entity, srcBillDs.getRowMeta());
  1878. * srcBillDs = srcBillDs.map(extFunc);
  1879. * return srcBillDs;
  1880. * }
  1881. *
  1882. * public class ExtGroupAcctBillExcludeFunc extends MapFunction{
  1883. *
  1884. * private static final long serialVersionUID = 772036626721085321L;
  1885. * private final String entity;
  1886. * private final RowMeta rowMeta;
  1887. *
  1888. * public ExtGroupAcctBillExcludeFunc(String entity, RowMeta rowMeta) {
  1889. * this.entity = entity;
  1890. * this.rowMeta = rowMeta;
  1891. * }
  1892. *
  1893. * @Override
  1894. * public Object[] map(Row row) {
  1895. * Object[] newRow = createNewRow(row, rowMeta);
  1896. * //成本记录
  1897. * if("cal_costrecord".equals(entity)) {
  1898. * //这里能拿到标准的字段(material),以及前面添加的二开字段kd.sdk.fi.cal.extpoint.groupcostacct.ICalGroupCostAcctTest.getExcludeNeedBillFields
  1899. * Long matExt = row.getLong(rowMeta.getFieldIndex("material_ext"));
  1900. * //根据单据信息,设置"needgen" 字段为true时表示需要生成集团单据,为false时标识不需要生成集团单据
  1901. * newRow[rowMeta.getFieldIndex("needgen")] = false;
  1902. * }
  1903. * return newRow;
  1904. * }
  1905. *
  1906. * @Override
  1907. * public RowMeta getResultRowMeta() {
  1908. * return rowMeta;
  1909. * }
  1910. *
  1911. * private Object[] createNewRow(Row row, RowMeta rowMeta) {
  1912. * int resultFieldCount = rowMeta.getFieldCount();
  1913. * Object[] newValues = new Object[resultFieldCount];
  1914. * Field[] srcFields = rowMeta.getFields();
  1915. * for (int i = 0; i < rowMeta.getFieldCount(); i++) {
  1916. * newValues[i] = row.get(srcFields[i].getName());
  1917. * }
  1918. * return newValues;
  1919. * }
  1920. *
  1921. * }
  1922. *
  1923. * }
  1924. * </code></pre>
  1925. */
  1926. dealGroupAcctBillExclude(entity:string,srcBillDs:$.kd.bos.algo.DataSet):$.kd.bos.algo.DataSet;
  1927. /**
  1928. * @function 获取排除单据需要的字段,可以避免二开接口需要再次查询数据库。
  1929. * 注意: 如果标准的单据字段已经可以判断,则可以不实现该扩展逻辑,可以直接返回null或空集合
  1930. * @param entity cal_costrecord(成本记录)、cal_costadjustbill(成本调整单)、cal_stdcostdiffbill(标准成本差异单)
  1931. * @return 单据字段全路径,例如成本记录物料字段:entry.material as material_ext (注意别名加上二开后缀"_ext",避免字段重复报错)
  1932. * <pre><code>
  1933. * @Override
  1934. * public Set<String> getExcludeNeedBillFields(String entity) {
  1935. * //单据字段全路径,例如成本记录物料字段:entry.material as material_ext (注意别名加上二开后缀"_ext",避免字段重复报错)
  1936. * Set<String> extFields = new HashSet<>(16);
  1937. * //成本记录
  1938. * if("cal_costrecord".equals(entity)) {
  1939. * extFields.add("entry.material as material_ext");
  1940. * }
  1941. * return extFields;
  1942. * }
  1943. * </code></pre>
  1944. */
  1945. getExcludeNeedBillFields(entity:string):$.java.util.Set;
  1946. }
  1947. type ICalGroupCostAcct_T = ICalGroupCostAcct_S & ICalGroupCostAcct$;
  1948. interface ICalGroupCostAcct extends ICalGroupCostAcct_T {
  1949. }
  1950. }
  1951. namespace kd.sdk.fi.cas.extpoint.agentpay{
  1952. interface IAgentPayBillRepay_S {
  1953. }
  1954. interface IAgentPayBillRepay$ {
  1955. /**
  1956. * @param entityName 单据实体名
  1957. * @param billList 业务单据集合
  1958. * @return key->银行单据id;value->二开字段名和值的键值对
  1959. *
  1960. * <p>扩展示例如下
  1961. * <pre><code>
  1962. * package kd.sdk.tmc.ext.extpoint.agentpay;
  1963. * import kd.bos.dataentity.entity.DynamicObject;
  1964. * import kd.sdk.fi.cas.extpoint.agentpay.IAgentPayBillRepay;
  1965. *
  1966. * import java.util.HashMap;
  1967. * import java.util.List;
  1968. * import java.util.Map;
  1969. *
  1970. * public class AgentPayBillRepay implements IAgentPayBillRepay {
  1971. * @Override
  1972. * public Map<Long, Map<String, Object>> extFillAgentPayBill(String entityName, List<DynamicObject> billList) {
  1973. * Map<Long, Map<String, Object>> result = new HashMap<>();
  1974. * switch (entityName) {
  1975. * case "代发处理单标识":
  1976. * Map<String, Object> prop = new HashMap<>();
  1977. * for (DynamicObject bill : billList) {
  1978. * prop.put("exfield", "二开字段");
  1979. * result.put(bill.getLong("id"), prop);
  1980. * }
  1981. * break;
  1982. * }
  1983. * return result;
  1984. * }
  1985. * }
  1986. *
  1987. * }</code></pre>
  1988. */
  1989. extFillAgentPayBill(entityName:string,billList:$.java.util.List):$.java.util.Map;
  1990. }
  1991. type IAgentPayBillRepay_T = IAgentPayBillRepay_S & IAgentPayBillRepay$;
  1992. interface IAgentPayBillRepay extends IAgentPayBillRepay_T {
  1993. }
  1994. }
  1995. namespace kd.sdk.fi.cas.extpoint.claimbill{
  1996. interface IClaimbillMuiltErpSelectCoreBill_S {
  1997. }
  1998. interface IClaimbillMuiltErpSelectCoreBill$ {
  1999. /**
  2000. * 收款认领处理单
  2001. * 跨租户选择核心单据后子租户关键信息回填主租户认领处理分录
  2002. * 销售订单和合同不需要扩展,标品第一版已经写死支持,若需要补充条件可以进一步埋点进行字段的回填(核心单据行号必须回填)
  2003. *
  2004. * @param listSelectedRow 过滤条件,用于二开自定义扩展
  2005. * @param rowData 认领处理单数据模型,用于二开获取当前认领处理单据页面数据和二开或业务单据进行认领处理单的回填
  2006. *
  2007. * <p>默认扩展示例如下
  2008. * <pre><code>
  2009. * public class ClaimbillFillCoreIfo implements IClaimbillMuiltErpSelectCoreBill {
  2010. * @Override
  2011. * public void setCoreIfoByMuiltyERP(ListSelectedRow listSelectedRow, DynamicObject rowData, String coreBillType) {
  2012. * if (rowData != null && listSelectedRow != null) {
  2013. * DynamicObject settleorg = (DynamicObject) rowData.get(RecClaimBillModel.E_SETTLEORG);//结算组织
  2014. * //获取远程调用子租户信息
  2015. * CtsyTenant tenant = CtsyBaseServiceHelper.getCtsyTenant(settleorg.getLong("id"));
  2016. * if (tenant == null) {
  2017. * return;
  2018. * }
  2019. * Object pkValue = listSelectedRow.getPrimaryKeyValue();//所选核心单据id
  2020. * String entryEntityKey = listSelectedRow.getEntryEntityKey();//所选核心单据分录标识
  2021. * //所选核心单据分录id; 有分录,才需要查seq;没有分录和分录id则说明选择的是单头无需查询seq,无需赋值核心单据行id
  2022. * Object entryPKValue = listSelectedRow.getEntryPrimaryKeyValue();
  2023. * Map<String, Object> param = new HashMap<>(16);
  2024. * param.put("id", pkValue);
  2025. * param.put("entryid", entryEntityKey);
  2026. * param.put("entrytype", entryPKValue);
  2027. * Map<String, Object> params = new HashMap<>(16);
  2028. * params.put("param", Collections.singletonList(param));
  2029. * //远程调用接口(按需,如果除了核心单据id和核心分录id的回填则无需调用自定义接口,
  2030. * // 一般选择了分录或者还有核心单据其他属性的引用都要调用接口获取后回填)可参考,不会的可以找核心单据所在业务指导下
  2031. * if ("sm_salorder".equals(coreBillType)) {//假设核心单据类型是销售订单
  2032. * //kd.scmc.sm.webapi.service.SmOrderController
  2033. * String URL_QUERY_ORD = "/v2/sm/getSalOrderEntrys";
  2034. * String tenantId = tenant.getTenantId();
  2035. * String accountId = tenant.getAccountId().toString();
  2036. * Map<String, Object> returns = (Map<String, Object>) CtsyApiDispatchServiceHelper.invokeWebApi(tenantId, accountId, URL_QUERY_ORD, params);
  2037. * String info = String.valueOf(returns);
  2038. * boolean isSuc = returns.get("status") == null ? true : (Boolean) returns.get("status");
  2039. * if (!isSuc) {
  2040. * throw new KDBizException(info);
  2041. * }
  2042. * Map<String, Object> dataResults = (Map<String, Object>) returns.get("data");
  2043. * if (dataResults != null && dataResults.size() > 0) {
  2044. * rowData.set("e_corebillentryseq", dataResults.get("seq"));//核心单据行号
  2045. * rowData.set(RecClaimBillModel.ENTRY_CONBILLENTITY, "conm_salcontract"); //合同实体,默认都是销售合同
  2046. * rowData.set(RecClaimBillModel.ENTRY_CONBILLNUMBER, dataResults.get("conbillnumber"));//合同编号
  2047. * rowData.set(RecClaimBillModel.ENTRY_CONBILLROWNUM, dataResults.get("conbillrownum"));//合同行号
  2048. * rowData.set(RecClaimBillModel.ENTRY_CONBILLID, dataResults.get("conbillid"));//合同id
  2049. * rowData.set(RecClaimBillModel.ENTRY_CONBILLENTRYID, dataResults.get("conbillentryid"));//合同行id
  2050. * }
  2051. * }
  2052. * }
  2053. * }
  2054. * }
  2055. * </pre></code>
  2056. * </p>
  2057. */
  2058. setCoreIfoByMuiltyERP?(listSelectedRow:$.kd.bos.entity.datamodel.ListSelectedRow,rowData:$.kd.bos.dataentity.entity.DynamicObject,coreBillType:string):void;
  2059. /**
  2060. * 收款认领处理单过滤条件扩展
  2061. * 用于认领处理单分录行选择核心单据F7页面过滤条件扩展
  2062. * 销售订单和合同不需要扩展,标品第一版已经写死支持,若需要补充条件可以进一步埋点过滤
  2063. *
  2064. * @param lfp 过滤条件,用于二开自定义扩展
  2065. * @param dataModel 认领处理单数据模型,用于二开获取当前认领处理单据页面数据
  2066. * <p>默认扩展示例如下
  2067. * <pre><code>
  2068. * public class ClaimbillFilter implements IClaimbillMuiltErpSelectCoreBill {
  2069. * @Override
  2070. * public void setIFilters(ListFilterParameter lfp, IDataModel dataModel) {
  2071. * //主要是把里面的基础资料过滤进行转换,比如:客户、供应商、部门、币别,以及二开的一些基础资料(被同步打子租户,id不同转number查询)
  2072. * int currrow = dataModel.getEntryCurrentRowIndex(RecClaimBillModel.ENTRYENTITY);// 获取当前点击分录行行号
  2073. * String coreBillType = (String) dataModel.getValue(RecClaimBillModel.E_COREBILLTYPE, currrow);// 获取分录行核心单据类型
  2074. * //不同的核心单据类型的过滤条件是不同的逻辑
  2075. * DynamicObject currency = (DynamicObject) dataModel.getValue("currency");//币别
  2076. * DynamicObject settleorg = (DynamicObject) dataModel.getValue(RecClaimBillModel.E_SETTLEORG, currrow);//结算方式
  2077. * //条件都来自于取目标子租户核心单据的过滤,需要跨租户转number查询以及根据自己需要适配的核心单据做条件拼接(现场保证核心单据取数逻辑)
  2078. * if (StringUtils.equals(coreBillType, ClaimCoreBillTypeEnum.SALORDER.getValue())) {
  2079. * lfp.getQFilters().forEach(qFilter -> {
  2080. * if ("billentry.entrysettleorg".equals(qFilter.getProperty())) {
  2081. * qFilter.__setProperty("billentry.entrysettleorg.number");
  2082. * qFilter.__setValue(settleorg.getString("number"));
  2083. * }
  2084. * if("customer".equals(qFilter.getProperty())){
  2085. * //todo 根据客商类型去查基础资料,用客商的number关联取数接口。如为其他则不用处理(或者拼接ID=0L)
  2086. * }
  2087. * });
  2088. * }
  2089. * if (coreBillType.startsWith(ClaimCoreBillTypeEnum.FINARBILL.getValue())) { //财务应收单,,,
  2090. * lfp.getQFilters().forEach(qFilter -> {
  2091. * if ("org".equals(qFilter.getProperty())) {
  2092. * qFilter.__setProperty("org.number");
  2093. * qFilter.__setValue(settleorg.getString("number"));
  2094. * }
  2095. * if ("currency".equals(qFilter.getProperty())) {
  2096. * qFilter.__setProperty("currency.number");
  2097. * qFilter.__setValue(currency.getString("number"));
  2098. * }
  2099. * });
  2100. * }
  2101. * }
  2102. * }
  2103. * </pre></code>
  2104. * </p>
  2105. */
  2106. setIFilters?(lfp:$.kd.bos.list.ListFilterParameter,dataModel:$.kd.bos.entity.datamodel.IDataModel):void;
  2107. }
  2108. type IClaimbillMuiltErpSelectCoreBill_T = IClaimbillMuiltErpSelectCoreBill_S & IClaimbillMuiltErpSelectCoreBill$;
  2109. interface IClaimbillMuiltErpSelectCoreBill extends IClaimbillMuiltErpSelectCoreBill_T {
  2110. }
  2111. interface IClaimcenterHote_S {
  2112. readonly logger:$.kd.bos.logging.Log;
  2113. }
  2114. interface IClaimcenterHote$ {
  2115. setNewRecBillField?(recBill:$.kd.bos.dataentity.entity.DynamicObject):void;
  2116. }
  2117. type IClaimcenterHote_T = IClaimcenterHote_S & IClaimcenterHote$;
  2118. interface IClaimcenterHote extends IClaimcenterHote_T {
  2119. }
  2120. interface IBatchClaimBillInterface_S {
  2121. }
  2122. interface IBatchClaimBillInterface$ {
  2123. /**
  2124. * 批量认领自定义值携带到下游认领处理单扩展
  2125. *
  2126. * @param type 认领类型: 收款 "rec" , 付款 "pay"
  2127. * @param claimBill 认领处理单
  2128. * @param claimBillFirstEntryRow 认领处理单分录行第一行对象
  2129. * @param batchClaimBillCurrentRow 批量认领当前分录行对象
  2130. * @return
  2131. *
  2132. * <p>默认扩展示例如下
  2133. * <pre><code>
  2134. * package kd.fi.cas.formplugin.recclaim.claimnotice;
  2135. *
  2136. * import kd.bos.dataentity.entity.DynamicObject;
  2137. * import kd.sdk.fi.cas.extpoint.claimbill.IBatchClaimBillInterface;
  2138. *
  2139. * public class ClaimBillExtTest implements IBatchClaimBillInterface {
  2140. *
  2141. * public DynamicObject setClaimBillExt(String type, DynamicObject claimBill, DynamicObject claimBillFirstEntryRow, DynamicObject batchClaimBillCurrentRow) {
  2142. * // 收款认领
  2143. * if ("rec".equals(type)) {
  2144. * // 认领处理单单头扩展字段赋值
  2145. * claimBill.set("sdkexttest", batchClaimBillCurrentRow.get("sdkexttest"));
  2146. * // 认领处理单分录扩展字段赋值
  2147. * claimBillFirstEntryRow.set("sdkentryexttest", batchClaimBillCurrentRow.getDynamicObject("sdkentryexttest"));
  2148. * return claimBill;
  2149. * } else {
  2150. * // 付款认领
  2151. * // 认领处理单单头扩展字段赋值
  2152. * claimBill.set("sdkexttest", batchClaimBillCurrentRow.get("sdkexttest"));
  2153. * // 认领处理单分录扩展字段赋值
  2154. * claimBillFirstEntryRow.set("sdkentryexttest2", batchClaimBillCurrentRow.getDynamicObject("sdkentryexttest2"));
  2155. * return claimBill;
  2156. * }
  2157. * }
  2158. * }
  2159. * </pre></code>
  2160. * </p>
  2161. */
  2162. setClaimBillExt?(type_arg:string,claimBill:$.kd.bos.dataentity.entity.DynamicObject,claimBillFirstEntryRow:$.kd.bos.dataentity.entity.DynamicObject,batchClaimBillCurrentRow:$.kd.bos.dataentity.entity.DynamicObject):$.kd.bos.dataentity.entity.DynamicObject;
  2163. }
  2164. type IBatchClaimBillInterface_T = IBatchClaimBillInterface_S & IBatchClaimBillInterface$;
  2165. interface IBatchClaimBillInterface extends IBatchClaimBillInterface_T {
  2166. }
  2167. interface IClaimbillFilter_S {
  2168. }
  2169. interface IClaimbillFilter$ {
  2170. /**
  2171. * 收款认领处理单过滤条件扩展
  2172. * 用于认领处理单分录行选择核心单据F7页面过滤条件扩展
  2173. *
  2174. * @param lfp 过滤条件,用于二开自定义扩展
  2175. * @param dataModel 认领处理单数据模型,用于二开获取当前认领处理单据页面数据
  2176. *
  2177. * <p>默认扩展示例如下
  2178. * <pre><code>
  2179. * package kd.fi.cas.formplugin.recclaim.claimhandle
  2180. *
  2181. * import kd.bos.dataentity.entity.DynamicObject;
  2182. * import kd.bos.entity.datamodel.IDataModel;
  2183. * import kd.bos.list.ListFilterParameter;
  2184. * import kd.bos.orm.query.QCP;
  2185. * import kd.bos.orm.query.QFilter;
  2186. * import kd.fi.cas.consts.RecClaimBillModel;
  2187. * import kd.sdk.fi.cas.extpoint.claimbill.IClaimbillFilter;
  2188. *
  2189. * public class ClaimbillFilter implements IClaimbillFilter
  2190. *
  2191. * public void setIFilters(ListFilterParameter lfp, IDataModel dataModel) {
  2192. * // 获取当前点击分录行行号
  2193. * int currrow = dataModel.getEntryCurrentRowIndex(RecClaimBillModel.ENTRYENTITY);
  2194. * // 获取分录行核心单据类型
  2195. * String coreBillType = (String) dataModel.getValue(RecClaimBillModel.E_COREBILLTYPE, currentRowIndex);
  2196. * // 获取当前单据实体
  2197. * DynamicObject claimBill = dataModel.getDataEntity();
  2198. * // 通过认领处理单数据添加自定义过滤条件
  2199. * lfp.setFilter(new QFilter("accountingorg", QCP.equals, claimBill.getString("billstatus")));
  2200. * }
  2201. * }
  2202. * </pre></code>
  2203. * </p>
  2204. */
  2205. setIFilters(lfp:$.kd.bos.list.ListFilterParameter,dataModel:$.kd.bos.entity.datamodel.IDataModel):void;
  2206. /**
  2207. * 收款认领单过滤条件扩展插件,用于二开项目扩展过滤条件
  2208. * @param lfp 列表过滤条件参数
  2209. * @param claimBill 页面单据
  2210. * @return void
  2211. *
  2212. * <p>扩展示例如下
  2213. * <pre><code>
  2214. * import kd.bos.dataentity.entity.DynamicObject;
  2215. * import kd.bos.list.ListFilterParameter;
  2216. *
  2217. * public class ClaimbillFilter implements IClaimbillFilter {
  2218. *
  2219. * public void setIFilters(ListFilterParameter lfp, DynamicObject claimBill) {
  2220. * IClaimbillFilter.super.setIFilters(lfp, claimBill);
  2221. * lfp.setFilter(new QFilter("accountingorg", QCP.equals, claimBill.getString("billstatus")));
  2222. * }
  2223. * }
  2224. *
  2225. * </code></pre>
  2226. */
  2227. setIFilters(lfp:$.kd.bos.list.ListFilterParameter,claimBill:$.kd.bos.dataentity.entity.DynamicObject):void;
  2228. }
  2229. type IClaimbillFilter_T = IClaimbillFilter_S & IClaimbillFilter$;
  2230. interface IClaimbillFilter extends IClaimbillFilter_T {
  2231. }
  2232. interface BankAutoMatchCheck_S {
  2233. readonly logger:$.kd.bos.logging.Log;
  2234. }
  2235. interface BankAutoMatchCheck$ {
  2236. setBankAutoMatchCheck?(ruleList:$.java.util.List):void;
  2237. }
  2238. type BankAutoMatchCheck_T = BankAutoMatchCheck_S & BankAutoMatchCheck$;
  2239. interface BankAutoMatchCheck extends BankAutoMatchCheck_T {
  2240. }
  2241. interface IClaimHandlePluginSDK_S {
  2242. }
  2243. interface IClaimHandlePluginSDK$ {
  2244. /**
  2245. * 处理数据集,此为步骤3,将idValue集合中的数据赋值到rowData中,相当于给界面分录数据进行赋值
  2246. * @param idValue 存放查询的id及对应数据集
  2247. * @param rowData 分录数据对象
  2248. *
  2249. * <p>扩展示例如下
  2250. * <pre><code>
  2251. * public void dealResult(Map<Long, Map<String, Object>> idValue, DynamicObject rowData) {
  2252. * Long id = (Long)rowData.get("e_corebillid");
  2253. * rowData.set("e_fee", idValue.get(id).get("e_fee"));
  2254. * }</code></pre>
  2255. */
  2256. dealResult(idValue:$.java.util.Map,rowData:$.kd.bos.dataentity.entity.DynamicObject):void;
  2257. /**
  2258. * 填充数据集,此为步骤2,允许针对选择的核心单据根据id去获取单据头属性或其他属性,存储到idValue中以便步骤3使用
  2259. * @param coreBillType 核心单据类型
  2260. * @param ids 选择的核心单据id
  2261. * @param idValue 存放查询的id及对应数据集
  2262. *
  2263. * <p>扩展示例如下
  2264. * <pre><code>
  2265. * public void fillResult(String coreBillType, Set<Long> ids, Map<Long, Map<String, Object>> idValue) {
  2266. * DynamicObject obj = QueryServiceHelper.queryOne(coreBillType,"e_fee",new QFiter("id",QCP.in,ids));
  2267. * Map<String,Object> s = new HashMap<>();
  2268. * s.put("e_fee", obj.get("e_fee"));
  2269. * idValue.put(obj.getLong("id"),s);
  2270. * }</code></pre>
  2271. */
  2272. fillResult(coreBillType:string,ids:$.java.util.Set,idValue:$.java.util.Map):void;
  2273. /**
  2274. * 此为步骤1,二开属性查询出来的数据将在后面步骤使用
  2275. * @param coreBillType 核心单据类型
  2276. * @param entryEntityKey 分录标识
  2277. * @param srcSelectField 标品原始查询属性
  2278. * @return 添加二开查询属性
  2279. *
  2280. * <p>扩展示例如下
  2281. * <pre><code>
  2282. * pubilc String getSelectFieldWithEntry(String coreBillType, String entryEntityKey,String srcSelectField){
  2283. * String field = ",amt,entry.e_fee";// 可以根据coreBillType、entryEntityKey返回二开需要查询的属性
  2284. * return field;
  2285. * }</code></pre>
  2286. */
  2287. getSelectFieldWithEntry(coreBillType:string,entryEntityKey:string,srcSelectField:string):$.java.util.Set;
  2288. }
  2289. type IClaimHandlePluginSDK_T = IClaimHandlePluginSDK_S & IClaimHandlePluginSDK$;
  2290. interface IClaimHandlePluginSDK extends IClaimHandlePluginSDK_T {
  2291. }
  2292. }
  2293. namespace kd.sdk.fi.cas.extpoint.closeperiod{
  2294. interface ICheckArchiveBillTypeInterface_S {
  2295. }
  2296. interface ICheckArchiveBillTypeInterface$ {
  2297. /**
  2298. * 期末结账反结账时需要校验是否已经归档的单据类型,已归档的不允许反结账
  2299. * 默认有银行日记账和现金日记账两种单据类型,其他需要在此接口中扩展添加
  2300. *
  2301. * <p>扩展示例如下</p>
  2302. * <pre><code>
  2303. * package kd.sdk.fi.cas.extpoint.closeperiod;
  2304. *
  2305. * import java.util.Arrays;
  2306. * import java.util.List;
  2307. *
  2308. * public class CheckArchiveBillType implements ICheckArchiveBillTypeInterface{
  2309. * @Override
  2310. * public List<String> getOtherBillTypes() {
  2311. * // 返回需要判断是否已经归档的单据类型
  2312. * return Arrays.asList("单据类型一","单据类型一");
  2313. * }
  2314. * }</code></pre>
  2315. */
  2316. getOtherBillTypes():$.java.util.List;
  2317. }
  2318. type ICheckArchiveBillTypeInterface_T = ICheckArchiveBillTypeInterface_S & ICheckArchiveBillTypeInterface$;
  2319. interface ICheckArchiveBillTypeInterface extends ICheckArchiveBillTypeInterface_T {
  2320. }
  2321. }
  2322. namespace kd.sdk.fi.cas.extpoint.dynamiclisthelper{
  2323. interface IDynamicListHelper_S {
  2324. }
  2325. interface IDynamicListHelper$ {
  2326. /**
  2327. * @param showFields 展示字段
  2328. * @return 展示字段
  2329. * <p>默认拓展示例如下
  2330. * <pre><code>
  2331. * package kd.sdk.fi.cas.extpoint.dynamiclisthelper;
  2332. *
  2333. * public class DynamicListHelperExt implements IDynamicListHelper{
  2334. *
  2335. * @Override
  2336. * public List<String> getShowFields(List<String> showFields) {
  2337. *
  2338. * //增加需要展示的字段
  2339. * showFields.add("xxx");
  2340. * return showFields;
  2341. * }
  2342. * }
  2343. *
  2344. * </pre></code>
  2345. * </p>
  2346. */
  2347. setShowFieldsForCustomerBankInfo?(showFields:$.java.util.List):$.java.util.List;
  2348. setShowFieldsForSupplierBankInfo?(showFields:$.java.util.List):$.java.util.List;
  2349. }
  2350. type IDynamicListHelper_T = IDynamicListHelper_S & IDynamicListHelper$;
  2351. interface IDynamicListHelper extends IDynamicListHelper_T {
  2352. }
  2353. }
  2354. namespace kd.sdk.fi.cas.extpoint.journal{
  2355. interface IJournalVoucherBookInterface_S {
  2356. }
  2357. interface IJournalVoucherBookInterface$ {
  2358. /**
  2359. * 现金日记账-凭证登账扩展
  2360. * @return extFieldName 凭证分录现金账户id扩展字段标识
  2361. *
  2362. * <p>扩展示例如下
  2363. * <pre><code>
  2364. * package kd.fi.cas.helper;
  2365. *
  2366. * import kd.sdk.fi.cas.extpoint.journal.IJournalVoucherBookInterface;
  2367. *
  2368. * public class voucherBookCashAccountExtPlugin implements IJournalVoucherBookInterface {
  2369. * public String cashJournalBookExt() {
  2370. * return "kdtest_accountCashId_ext";
  2371. * }
  2372. * }
  2373. * </code></pre>
  2374. */
  2375. cashJournalBookExt?():string;
  2376. }
  2377. type IJournalVoucherBookInterface_T = IJournalVoucherBookInterface_S & IJournalVoucherBookInterface$;
  2378. interface IJournalVoucherBookInterface extends IJournalVoucherBookInterface_T {
  2379. }
  2380. interface IBankJournalField_S {
  2381. }
  2382. interface IBankJournalField$ {
  2383. /**
  2384. * 获取下载银行日记账时二开需要从交易明细携带到银行日记账的字段映射
  2385. * <pre>字段需在银行日记账和交易明细中同时存在,字段类型和长度一致</pre>
  2386. *
  2387. * @return 二开需要交易明细携带到银行日记账的字段映射
  2388. * <pre>key:银行日记账的字段标识</br>
  2389. * value:交易明细的字段标识</pre>
  2390. *
  2391. * <pre><code>
  2392. * package kd.fi.cas.business.journal.extpoint;
  2393. *
  2394. * import kd.sdk.fi.cas.extpoint.journal.IBankJournalField;
  2395. *
  2396. * import java.util.HashMap;
  2397. * import java.util.Map;
  2398. *
  2399. * public class BankJournalFieldDemo implements IBankJournalField {
  2400. *
  2401. * @Override
  2402. * public Map<String, String> getExtDownloadFieldMap() {
  2403. * // 下载银行日记账时额外需要从交易明细携带到银行日记账的标品或二开字段,例子中kdtest_为二开字段前缀
  2404. * Map<String, String> extFieldMap = new HashMap<>(16);
  2405. * extFieldMap.put("kdtest_extfield", "kdtest_extfield");
  2406. * return extFieldMap;
  2407. * }
  2408. * }
  2409. * </code></pre>
  2410. */
  2411. getExtDownloadFieldMap():$.java.util.Map;
  2412. }
  2413. type IBankJournalField_T = IBankJournalField_S & IBankJournalField$;
  2414. interface IBankJournalField extends IBankJournalField_T {
  2415. }
  2416. interface ICheckBalanceAdjust_S {
  2417. }
  2418. interface ICheckBalanceAdjust$ {
  2419. /**
  2420. * 二开自己定义要检查余额调节表的时间范围
  2421. * @return 组织和时间范围
  2422. *
  2423. * <p>扩展示例如下
  2424. * <pre><code>
  2425. * public class CheckBalanceAdjustTest implements ICheckBalanceAdjust {
  2426. *
  2427. * @Override
  2428. * public List<CheckBalanceAdjust> checkBalanceAdjustDate() {
  2429. *
  2430. * CheckBalanceAdjust checkBalanceAdjust = new CheckBalanceAdjust();
  2431. * checkBalanceAdjust.setOrgId(1381187715759885312l); // 组织ID
  2432. * checkBalanceAdjust.setStartDate(DateUtils.stringToDate("2025-01-10","yyyy-MM-dd")); // 开始时间
  2433. * checkBalanceAdjust.setEndDate(DateUtils.stringToDate("2025-01-20","yyyy-MM-dd")); // 结束时间
  2434. *
  2435. * List<CheckBalanceAdjust> checkBalanceAdjusts = new ArrayList<>(10);
  2436. * checkBalanceAdjusts.add(checkBalanceAdjust);
  2437. *
  2438. * return checkBalanceAdjusts;
  2439. * }
  2440. * }
  2441. * </code></pre>
  2442. */
  2443. checkBalanceAdjustDate?():$.java.util.List;
  2444. }
  2445. type ICheckBalanceAdjust_T = ICheckBalanceAdjust_S & ICheckBalanceAdjust$;
  2446. interface ICheckBalanceAdjust extends ICheckBalanceAdjust_T {
  2447. }
  2448. }
  2449. namespace kd.sdk.fi.cas.extpoint.noticeclaim{
  2450. interface INoticeClaimSchemeInterface_S {
  2451. }
  2452. interface INoticeClaimSchemeInterface$ {
  2453. /**
  2454. * 通知认领对象拓展
  2455. * 扩展调用时机:
  2456. * 1.【通知规则】界面选择“自定义”时触发扩展
  2457. * 2.点击“通知认领”操作且检测到未匹配到通知规则后在“通知认领”弹出框重新选择“自定义”时触发扩展
  2458. *
  2459. * @param noticeObjectMap
  2460. * @return Map<String, Object> key:"userids", value:userIdList
  2461. *
  2462. * <p>拓展示例如下
  2463. * <pre><code> package kd.fi.cas.formplugin.recclaim.extpoint;
  2464. *
  2465. * import kd.sdk.fi.cas.extpoint.noticeclaim.INoticeClaimSchemeInterface;
  2466. *
  2467. * import java.util.ArrayList;
  2468. * import java.util.List;
  2469. * import java.util.Map;
  2470. *
  2471. * public class NoticeClaimSchemesDefaultExt implements INoticeClaimSchemeInterface {
  2472. *
  2473. * public Map<String, Object> noticeObjectExt(Map<String, Object> noticeObjectMap) {
  2474. * // 自定义通知对象用户ID
  2475. * List<Object> userIds = new ArrayList<>(2);
  2476. * userIds.add(1540672005563544576L);
  2477. * noticeObjectMap.put("userids", userIds);
  2478. *
  2479. * return noticeObjectMap;
  2480. * }
  2481. * }</code></pre>
  2482. */
  2483. noticeObjectExt?(noticeObjectMap:$.java.util.Map):$.java.util.Map;
  2484. }
  2485. type INoticeClaimSchemeInterface_T = INoticeClaimSchemeInterface_S & INoticeClaimSchemeInterface$;
  2486. interface INoticeClaimSchemeInterface extends INoticeClaimSchemeInterface_T {
  2487. }
  2488. }
  2489. namespace kd.sdk.fi.cas.extpoint.paybill{
  2490. interface IGenBankBillSDKService_S {
  2491. }
  2492. interface IGenBankBillSDKService$ {
  2493. /**
  2494. * @param entityName 单据实体名
  2495. * @param billList 业务单据集合
  2496. * @return key->银行单据id;value->二开字段名和值的键值对
  2497. *
  2498. * <p>扩展示例如下
  2499. * <pre><code>package kd.sdk.tmc.ext.extpoint.committobe;
  2500. *
  2501. * import kd.bos.dataentity.entity.DynamicObject;
  2502. *
  2503. * import java.util.HashMap;
  2504. * import java.util.List;
  2505. * import java.util.Map;
  2506. *
  2507. * public class GenBankBillService implements IGenBankBillSDKService{
  2508. *
  2509. * @Override
  2510. * public Map<Long, Map<String, Object>> extFillBankBill(String entityName, List<DynamicObject> billList) {
  2511. * Map<Long, Map<String, Object>> result = new HashMap<>();
  2512. * switch (entityName){
  2513. * case "付款单":
  2514. * Map<String,Object> prop = new HashMap<>();
  2515. * for(DynamicObject bill:billList) {
  2516. * prop.put("exfield", "二开字段");
  2517. * result.put(bill.getLong("id"), prop);
  2518. * }
  2519. * break;
  2520. * }
  2521. * return result;
  2522. * }
  2523. * }</code></pre>
  2524. */
  2525. extFillBankBill(entityName:string,billList:$.java.util.List):$.java.util.Map;
  2526. }
  2527. type IGenBankBillSDKService_T = IGenBankBillSDKService_S & IGenBankBillSDKService$;
  2528. interface IGenBankBillSDKService extends IGenBankBillSDKService_T {
  2529. }
  2530. interface IInterPayPlanField_S {
  2531. }
  2532. interface IInterPayPlanField$ {
  2533. /**
  2534. * 获取二开需要填充的付款处理的字段映射
  2535. * <pre>字段需在付款处理和智能填充设置中同时存在,字段类型和长度一致,可参考e_expenseitem</pre>
  2536. *
  2537. * @return 二开需要智能填充的付款处理的字段映射
  2538. * <pre>key:付款处理的标品或二开字段标识,其中分录字段格式:分录标识.分录字段标识</br>
  2539. * value:智能填充设置的字段标识</pre>
  2540. *
  2541. * <pre><code>
  2542. * package kd.fi.cas.opplugin;
  2543. *
  2544. * import kd.sdk.fi.cas.extpoint.paybill.IInterPayPlanField;
  2545. *
  2546. * import java.util.HashMap;
  2547. * import java.util.Map;
  2548. *
  2549. * public class InterPayPlanFieldExtDemo implements IInterPayPlanField {
  2550. *
  2551. * @Override
  2552. * public Map<String, String> getExtFieldMap() {
  2553. * // 额外需要填充的付款处理的标品或二开字段,例子中kdtest_为二开字段前缀
  2554. * Map<String, String> extFieldMap = new HashMap<>(16);
  2555. * extFieldMap.put("entry.e_fundflowitem", "kdtest_e_fundflowitem");
  2556. * extFieldMap.put("kdtest_extfield", "kdtest_extfield");
  2557. * return extFieldMap;
  2558. * }
  2559. * }
  2560. * </code></pre>
  2561. */
  2562. getExtFieldMap():$.java.util.Map;
  2563. }
  2564. type IInterPayPlanField_T = IInterPayPlanField_S & IInterPayPlanField$;
  2565. interface IInterPayPlanField extends IInterPayPlanField_T {
  2566. }
  2567. interface IPayeeBankInfoFilter_S {
  2568. }
  2569. interface IPayeeBankInfoFilter$ {
  2570. /**
  2571. * 付款处理客商收款账号过滤条件扩展插件
  2572. * @param lfp 列表过滤条件参数
  2573. * @param payBill 页面单据
  2574. * @return void
  2575. *
  2576. * <b>扩展示例如下
  2577. * <pre><code>
  2578. * import kd.bos.dataentity.entity.DynamicObject;
  2579. * import kd.bos.list.ListFilterParameter;
  2580. *
  2581. * public class PayeeBankInfoFilter implements IPayeeBankInfoFilter {
  2582. *
  2583. * public void setIFilters(ListFilterParameter lfp, DynamicObject payBill) {
  2584. * IPayeeBankInfoFilter.super.setIFilters(lfp, payBill);
  2585. * lfp.setFilter(new QFilter("accountingorg", QCP.equals, payBill.getString("billstatus")));
  2586. * }
  2587. *
  2588. * }
  2589. *
  2590. * </code></pre>
  2591. */
  2592. setIFilters?(lfp:$.kd.bos.list.ListFilterParameter,payBill:$.kd.bos.dataentity.entity.DynamicObject):void;
  2593. }
  2594. type IPayeeBankInfoFilter_T = IPayeeBankInfoFilter_S & IPayeeBankInfoFilter$;
  2595. interface IPayeeBankInfoFilter extends IPayeeBankInfoFilter_T {
  2596. }
  2597. interface IPaybillWriteback_S {
  2598. }
  2599. interface IPaybillWriteback$ {
  2600. /**
  2601. * 付款单反写参数扩展属性返回,用于二开项目返回扩展字段反写
  2602. *
  2603. * @param payBillId 付款单id
  2604. * @return Map<Long, Map < String, Object>> key:分录ID value:扩展属性 (以键值对形式返回)
  2605. *
  2606. * <p>扩展示例如下</p>
  2607. * <pre><code>
  2608. * public class PaybillWritebackImpl implements IPaybillWriteback{
  2609. * public Map<Long, Map<String, Object>> loadExtendInfo(Long payBillId) {
  2610. * Map<Long, Map<String, Object>> extendInfoMap = new HashMap<>();
  2611. * try {
  2612. * DynamicObject payWriteConfig = ExtendConfigHelper.getExtendConfig(ExtendConfigHelper.CONFIG_WRITEBACK_PAY);
  2613. * if(payWriteConfig != null && StringUtils.isNotBlank(payWriteConfig.getString("configvalue"))){
  2614. * IPaybillWriteback iPaybillWriteback = (IPaybillWriteback) Class.forName(payWriteConfig.getString("configvalue")).newInstance();
  2615. * extendInfoMap.putAll(iPaybillWriteback.loadExtendInfo(payBillId));
  2616. * }
  2617. * } catch (Exception e) {
  2618. * logger.info("加载扩展服务异常,%s",e.toString());
  2619. * }
  2620. * return extendInfoMap;
  2621. * }
  2622. * }
  2623. * </code></pre>
  2624. */
  2625. loadExtendInfo(payBillId:long):$.java.util.Map;
  2626. }
  2627. type IPaybillWriteback_T = IPaybillWriteback_S & IPaybillWriteback$;
  2628. interface IPaybillWriteback extends IPaybillWriteback_T {
  2629. }
  2630. }
  2631. namespace kd.sdk.fi.cas.extpoint.paysche{
  2632. interface IPayScheSecondaryFieldFill_S {
  2633. }
  2634. interface IPayScheSecondaryFieldFill$ {
  2635. /**
  2636. * 开票回调后处理
  2637. * @param secondaryFields 付款排程单下带的二开字段与值 Map 集合
  2638. * @param paybill 付款处理单动态对象
  2639. * @return
  2640. *
  2641. * <p>扩展示例如下
  2642. * <pre><code>
  2643. * import kd.bos.dataentity.entity.DynamicObject;
  2644. * import kd.bos.ext.fi.botp.consts.PaymentBillModel;
  2645. * import java.util.Map;
  2646. * public class IPayScheSecondaryFieldFill_Demo implements IPayScheSecondaryFieldFill {
  2647. * public void fillSecondaryFields(Map<String, Object> secondaryFields, DynamicObject paybill) {
  2648. * IPayScheSecondaryFieldFill.super.fillSecondaryFields(secondaryFields, paybill);
  2649. * paybill.set(PaymentBillModel.HEAD_USAGE, secondaryFields.get("a1"));
  2650. * }
  2651. * }
  2652. * </code></pre>
  2653. */
  2654. fillSecondaryFields?(secondaryFields:$.java.util.Map,paybill:$.kd.bos.dataentity.entity.DynamicObject):void;
  2655. }
  2656. type IPayScheSecondaryFieldFill_T = IPayScheSecondaryFieldFill_S & IPayScheSecondaryFieldFill$;
  2657. interface IPayScheSecondaryFieldFill extends IPayScheSecondaryFieldFill_T {
  2658. }
  2659. }
  2660. namespace kd.sdk.fi.cas.extpoint.recbill{
  2661. interface IRecBillF7Filter_S {
  2662. }
  2663. interface IRecBillF7Filter$ {
  2664. /**
  2665. * 收款处理单收款账户字段F7界面列表数据过滤条件扩展
  2666. *
  2667. * @param listFilterParameter 列表过滤条件参数
  2668. * @param paramMap 预置两个参数 :
  2669. * K1:"isBotpCreate", V1: true/false // botp下推的收款处理单为true
  2670. * K2:"recBill", V2: IDataModel // 收款处理单
  2671. * @return void
  2672. *
  2673. * <b>扩展示例如下
  2674. * <pre><code>
  2675. * package kd.fi.cas.formplugin;
  2676. *
  2677. * import kd.bos.dataentity.entity.DynamicObject;
  2678. * import kd.bos.list.ListFilterParameter;
  2679. * import kd.bos.orm.query.QCP;
  2680. * import kd.bos.orm.query.QFilter;
  2681. * import kd.sdk.fi.cas.extpoint.recbill.IRecBillF7Filter;
  2682. *
  2683. * import java.util.List;
  2684. * import java.util.Map;
  2685. *
  2686. * public class ReceivPayeeInfoEditF7Test implements IRecBillF7Filter {
  2687. *
  2688. * public void setFilterForAcctBank(ListFilterParameter listFilterParameter, Map<String, Object> paramMap) {
  2689. * boolean isBotpCreate = (boolean) paramMap.get("isBotpCreate");
  2690. * // botp不做操作
  2691. * if (isBotpCreate) {
  2692. * return;
  2693. * }
  2694. * IDataModel recBill = (IDataModel) paramMap.get("recBill");
  2695. * // 获取收款处理单币种
  2696. * DynamicObject currencyDo = (DynamicObject) recBill.getValue("currency");
  2697. * // 获取标品前置的过滤条件
  2698. * List<QFilter> qFilters = listFilterParameter.getQFilters();
  2699. * qFilters.clear();
  2700. * // 自定义提F7过滤条件
  2701. * qFilters.add(new QFilter("bankaccountnumber", QCP.equals, "U20230421001"));
  2702. * }
  2703. * }
  2704. *
  2705. * </code></pre>
  2706. */
  2707. setFilterForAcctBank?(listFilterParameter:$.kd.bos.list.ListFilterParameter,paramMap:$.java.util.Map):void;
  2708. }
  2709. type IRecBillF7Filter_T = IRecBillF7Filter_S & IRecBillF7Filter$;
  2710. interface IRecBillF7Filter extends IRecBillF7Filter_T {
  2711. }
  2712. interface IAgentPayField_S {
  2713. }
  2714. interface IAgentPayField$ {
  2715. setAgentPayField?(info:$.kd.bos.dataentity.entity.DynamicObject):void;
  2716. }
  2717. type IAgentPayField_T = IAgentPayField_S & IAgentPayField$;
  2718. interface IAgentPayField extends IAgentPayField_T {
  2719. }
  2720. interface IHotRecField_S {
  2721. }
  2722. interface IHotRecField$ {
  2723. /**
  2724. * 红冲收款单赋值逻辑二开扩展
  2725. * @param info 红冲收款单
  2726. *
  2727. * <p>扩展示例如下
  2728. * <pre><code>
  2729. *
  2730. * public class HotRecField implements IHotRecField {
  2731. *
  2732. * public void setAHotRecField(DynamicObject info) {
  2733. * info.set(propName.propValue);
  2734. *
  2735. * }
  2736. * }
  2737. * }</code></pre>
  2738. */
  2739. setAHotRecField?(info:$.kd.bos.dataentity.entity.DynamicObject):void;
  2740. }
  2741. type IHotRecField_T = IHotRecField_S & IHotRecField$;
  2742. interface IHotRecField extends IHotRecField_T {
  2743. }
  2744. interface IRecbillFilter_S {
  2745. }
  2746. interface IRecbillFilter$ {
  2747. /**
  2748. * 收款单过滤条件扩展插件,用于二开项目扩展过滤条件
  2749. * @param lfp 列表过滤条件参数
  2750. * @param recBill 页面单据
  2751. * @return void
  2752. *
  2753. * <b>扩展示例如下
  2754. * <pre><code>
  2755. * import kd.bos.dataentity.entity.DynamicObject;
  2756. * import kd.bos.list.ListFilterParameter;
  2757. *
  2758. * public class RecbillFilter implements IRecbillFilter {
  2759. *
  2760. * public void setIFilters(ListFilterParameter lfp, DynamicObject recBill) {
  2761. * IRecbillFilter.super.setIFilters(lfp, recBill);
  2762. * lfp.setFilter(new QFilter("accountingorg", QCP.equals, recBill.getString("billstatus")));
  2763. * }
  2764. * }
  2765. *
  2766. * </code></pre>
  2767. */
  2768. setIFilters?(lfp:$.kd.bos.list.ListFilterParameter,recBill:$.kd.bos.dataentity.entity.DynamicObject):void;
  2769. }
  2770. type IRecbillFilter_T = IRecbillFilter_S & IRecbillFilter$;
  2771. interface IRecbillFilter extends IRecbillFilter_T {
  2772. }
  2773. interface IRecBillCalcEFee_S {
  2774. }
  2775. interface IRecBillCalcEFee$ {
  2776. /**
  2777. * 计算并返回收款明细分录第i行的手续费
  2778. *
  2779. * @param recBill 收款处理对象(包含分录)
  2780. * @param i 收款明细分录第i行
  2781. * @return 收款明细分录第i行的手续费
  2782. *
  2783. * <pre><code>
  2784. * package kd.fi.cas.formplugin.extpoint;
  2785. *
  2786. * import kd.bos.dataentity.entity.DynamicObject;
  2787. * import kd.bos.dataentity.entity.DynamicObjectCollection;
  2788. * import kd.sdk.fi.cas.extpoint.recbill.IRecBillCalcEFee;
  2789. *
  2790. * import java.math.BigDecimal;
  2791. *
  2792. * public class RecBillCalcEFeeExtDemo implements IRecBillCalcEFee {
  2793. *
  2794. * @Override
  2795. * public BigDecimal calcEFee(DynamicObject recBill, int i) {
  2796. * BigDecimal eFee = BigDecimal.ZERO;
  2797. * // 二开按需获取收款明细分录第i行的手续费
  2798. * DynamicObjectCollection entry = recBill.getDynamicObjectCollection("entry");
  2799. * if (entry != null && !entry.isEmpty() && entry.get(i) != null) {
  2800. * eFee = entry.get(i).getBigDecimal("e_fee");
  2801. * }
  2802. * // eFee = 二开计算逻辑
  2803. * return eFee;
  2804. * }
  2805. * }
  2806. * </code></pre>
  2807. */
  2808. calcEFee(recBill:$.kd.bos.dataentity.entity.DynamicObject,i:number):$.java.math.BigDecimal;
  2809. }
  2810. type IRecBillCalcEFee_T = IRecBillCalcEFee_S & IRecBillCalcEFee$;
  2811. interface IRecBillCalcEFee extends IRecBillCalcEFee_T {
  2812. }
  2813. }
  2814. namespace kd.sdk.fi.cas.extpoint.statement{
  2815. interface IBankStatementField_S {
  2816. }
  2817. interface IBankStatementField$ {
  2818. /**
  2819. * 获取下载银行对账单时二开需要从交易明细携带到银行对账单的字段映射
  2820. * <pre>字段需在银行对账单和交易明细中同时存在,字段类型和长度一致</pre>
  2821. *
  2822. * @return 二开需要交易明细携带到银行对账单的字段映射
  2823. * <pre>key:银行对账单的字段标识</br>
  2824. * value:交易明细的字段标识</pre>
  2825. *
  2826. * <pre><code>
  2827. * package kd.fi.cas.business.service.extpoint;
  2828. *
  2829. * import kd.sdk.fi.cas.extpoint.statement.IBankStatementField;
  2830. *
  2831. * import java.util.Map;
  2832. * import java.util.HashMap;
  2833. *
  2834. * public class BankStatementFieldDemo implements IBankStatementField {
  2835. *
  2836. * @Override
  2837. * public Map<String, String> getExtDownloadFieldMap() {
  2838. * // 下载银行对账单时额外需要从交易明细携带到银行对账单的标品或二开字段,例子中kdtest_为二开字段前缀
  2839. * Map<String, String> extFieldMap = new HashMap<>(16);
  2840. * extFieldMap.put("kdtest_extfield", "kdtest_extfield");
  2841. * return extFieldMap;
  2842. * }
  2843. * }
  2844. * </code></pre>
  2845. */
  2846. getExtDownloadFieldMap():$.java.util.Map;
  2847. }
  2848. type IBankStatementField_T = IBankStatementField_S & IBankStatementField$;
  2849. interface IBankStatementField extends IBankStatementField_T {
  2850. }
  2851. }
  2852. namespace kd.sdk.fi.dhc.extpoint{
  2853. interface ISynchronizationDataExtPlugin_S {
  2854. }
  2855. interface ISynchronizationDataExtPlugin$ {
  2856. /**
  2857. * 接口调用时机:各场景下同步数据前获取映射配置关系时
  2858. *
  2859. * @param billType 要同步数据的单据类型。接入报账工作台的单据的实体编码
  2860. * @return 自定义增加的{billType}单与{dhc_mybilllist}的同步映射关系
  2861. *
  2862. * <p>扩展示例如下</p>
  2863. * <pre><code>
  2864. * public class SynchronizationDataExtTestPlugin implements ISynchronizationDataExtPlugin {
  2865. *
  2866. * @Override
  2867. * public Map<String, String> addMappingFields(String billType) {
  2868. * Map<String, String> mappingFields = new HashMap<>();
  2869. * switch (billType) {
  2870. * case "dhc_reimorder":
  2871. * mappingFields.put("extField", "biztype");
  2872. * break;
  2873. * case "ssc_tallyapplybill":
  2874. * mappingFields.put("extField", "mainbiztype");
  2875. * mappingFields.put("entryentity.extEntryField", "tallyentryentity.bizdetailtype");
  2876. * break;
  2877. * default:
  2878. * break;
  2879. * }
  2880. * return mappingFields;
  2881. * }
  2882. * }
  2883. * </code></pre>
  2884. */
  2885. addMappingFields?(billType:string):$.java.util.Map;
  2886. }
  2887. type ISynchronizationDataExtPlugin_T = ISynchronizationDataExtPlugin_S & ISynchronizationDataExtPlugin$;
  2888. interface ISynchronizationDataExtPlugin extends ISynchronizationDataExtPlugin_T {
  2889. }
  2890. }
  2891. namespace kd.sdk.fi.er.extpoint.ai{
  2892. interface IAIReimburseService_S {
  2893. readonly BIZCODE:string;
  2894. }
  2895. interface IAIReimburseService$ {
  2896. /**
  2897. * 创建view和model后执行,用于修改model便于二开赋值
  2898. * @param view
  2899. * @param params 对话平台传进来的参数
  2900. * @return
  2901. */
  2902. afterCreateView?(view:$.kd.bos.form.IFormView,params:$.java.util.Map):void;
  2903. /**
  2904. * 初始化时修改实体标识、appid。
  2905. * @param plugin 智能语音报销的插件对象
  2906. * @return
  2907. */
  2908. initDataMember?(plugin:$.kd.bos.bill.AbstractBillWebApiPlugin,params:$.java.util.Map):void;
  2909. /**
  2910. * 生成返回给对话平台的结果集后触发,便于修改结果集
  2911. * @param view
  2912. * @param responseModel 返回给对话平台的结果
  2913. * @param params 对话平台传进来的参数
  2914. * @return
  2915. */
  2916. responseModelExt?(view:$.kd.bos.form.IFormView,responseModel:any,params:$.java.util.Map):void;
  2917. }
  2918. type IAIReimburseService_T = IAIReimburseService_S & IAIReimburseService$;
  2919. interface IAIReimburseService extends IAIReimburseService_T {
  2920. }
  2921. }
  2922. namespace kd.sdk.fi.er.extpoint.dailyreimbursebill{
  2923. interface IEntryMustInput_S {
  2924. }
  2925. interface IEntryMustInput$ {
  2926. /**
  2927. * 返回true时,校验资产报账单资产分录必填,false不校验
  2928. * @param bill
  2929. * @return
  2930. *
  2931. * <p>扩展示例如下</p>
  2932. * <pre><code>
  2933. * public class AssetentryMustInput implements IEntryMustInput {
  2934. * @Override
  2935. * public Boolean checkAssetEntryMustInput(DynamicObject bill) {
  2936. * return Boolean.FALSE;
  2937. * }
  2938. * }
  2939. * </code></pre>
  2940. */
  2941. checkAssetEntryMustInput(bill:$.kd.bos.dataentity.entity.DynamicObject):boolean;
  2942. }
  2943. type IEntryMustInput_T = IEntryMustInput_S & IEntryMustInput$;
  2944. interface IEntryMustInput extends IEntryMustInput_T {
  2945. }
  2946. interface ITripStandardControl_S {
  2947. }
  2948. interface ITripStandardControl$ {
  2949. /**
  2950. * 提交时是否要启用差旅标准
  2951. * @param DynamicObject 单据页面提交时的元数据
  2952. * @return boolean
  2953. *
  2954. * <p>扩展示例如下</p>
  2955. * <pre><code>
  2956. * public class TripStandardControl implements ITripStandardControl {
  2957. * public Boolean controlTripStandard(DynamicObject dynamicObject) {
  2958. * return true;
  2959. * }
  2960. * }
  2961. * </code></pre>
  2962. */
  2963. controlTripStandard(dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):boolean;
  2964. }
  2965. type ITripStandardControl_T = ITripStandardControl_S & ITripStandardControl$;
  2966. interface ITripStandardControl extends ITripStandardControl_T {
  2967. }
  2968. interface ISuperClosedCallBack_S {
  2969. }
  2970. interface ISuperClosedCallBack$ {
  2971. /**
  2972. * 在标准逻辑的 ClosedCallBack 执行之后进行个性处理
  2973. */
  2974. afterClosedCallBack?(clazz:$.java.lang.Class,actionId:string,isPc:boolean,...params:any[]):void;
  2975. /**
  2976. * 为true,执行标准逻辑;为false,则执行完此方法跳过标准逻辑
  2977. * @return 是否执行标准的closedCallBack
  2978. */
  2979. beforeClosedCallBack?(clazz:$.java.lang.Class,actionId:string,isPc:boolean,...params:any[]):boolean;
  2980. /**
  2981. * @param clazz ShowFrom 所在的插件
  2982. * @param foromid ShowFrom 即将打开的界面标识
  2983. * @param isPc 是否为PC端
  2984. * @param params 可变传参,
  2985. * @return 是否执行标准的view.showfrom; 为true,执行标准逻辑;为false,则执行完此方法跳过标准逻辑
  2986. */
  2987. beforeShowFrom?(clazz:$.java.lang.Class,foromid:string,isPc:boolean,...params:any[]):boolean;
  2988. }
  2989. type ISuperClosedCallBack_T = ISuperClosedCallBack_S & ISuperClosedCallBack$;
  2990. interface ISuperClosedCallBack extends ISuperClosedCallBack_T {
  2991. }
  2992. interface IWriteBackService_S {
  2993. }
  2994. interface IWriteBackService$ {
  2995. /**
  2996. * 出纳付款单反写
  2997. * @return Object 必须实现kd.fi.er.mservice.botp.writeback.AbstractWriteBackServcie
  2998. *
  2999. * <p>扩展示例如下</p>
  3000. * <pre><code>
  3001. * public class WriteBackService implements IWriteBackService {
  3002. * public Object getSelfBackService() {
  3003. * return new DailyLoanBillWriteBackService();
  3004. * }
  3005. * }
  3006. * </code></pre>
  3007. */
  3008. getSelfBackService():any;
  3009. }
  3010. type IWriteBackService_T = IWriteBackService_S & IWriteBackService$;
  3011. interface IWriteBackService extends IWriteBackService_T {
  3012. }
  3013. interface IInitBillInfo_S {
  3014. }
  3015. interface IInitBillInfo$ {
  3016. /**
  3017. * 费用报销单据新增初始化单据信息
  3018. * @param view 单据页面
  3019. * @return void
  3020. *
  3021. * <p>扩展示例如下</p>
  3022. * <pre><code>
  3023. * public class InitBillInfo implements IInitBillInfo{
  3024. * public void initBillInfo(IFormView view) {
  3025. * if (view == null){
  3026. * return;
  3027. * }
  3028. * Long companyId = 1247657405731330048L;//根据具体业务获取公司id
  3029. * view.getModel().setValue("company", companyId);
  3030. * }
  3031. * }
  3032. * </code></pre>
  3033. */
  3034. initBillInfo(view:$.kd.bos.form.IFormView):void;
  3035. }
  3036. type IInitBillInfo_T = IInitBillInfo_S & IInitBillInfo$;
  3037. interface IInitBillInfo extends IInitBillInfo_T {
  3038. }
  3039. interface IPayAmountCal_S {
  3040. }
  3041. interface IPayAmountCal$ {
  3042. /**
  3043. * @param view 单据及界面
  3044. * @return 付现金额 返回类型为kd.fi.er.business.daily.reimburse.AmountObject 否则标准逻辑获取不到
  3045. *
  3046. * <p>扩展示例如下</p>
  3047. * <pre><code>
  3048. * public Object payAmountCalc(IFormView view) {
  3049. * if (view == null) {
  3050. * return null;
  3051. * }
  3052. * BigDecimal orgiPayAmount = (BigDecimal) view.getModel().getValue("orgiPayAmount");
  3053. * BigDecimal currPayAmount = (BigDecimal) view.getModel().getValue("orgiPayAmount");
  3054. * AmountObject result = new AmountObject(orgiPayAmount, currPayAmount);
  3055. * return result;
  3056. * }
  3057. * </code></pre>
  3058. */
  3059. payAmountCalc(view:$.kd.bos.form.IFormView):any;
  3060. }
  3061. type IPayAmountCal_T = IPayAmountCal_S & IPayAmountCal$;
  3062. interface IPayAmountCal extends IPayAmountCal_T {
  3063. }
  3064. interface IWriteOffMoney_S {
  3065. readonly BIZCODE:string;
  3066. }
  3067. interface IWriteOffMoney$ {
  3068. afterWriteoffWithholdingByCurrcy(dataModel:$.kd.bos.entity.datamodel.IDataModel):void;
  3069. /**
  3070. * 冲预提分录联动 按原币冲销:费用明细 冲预提 相同币种冲销
  3071. * @param
  3072. */
  3073. afterWriteoffWithholdingByOrgiCurrcy(dataModel:$.kd.bos.entity.datamodel.IDataModel):void;
  3074. }
  3075. type IWriteOffMoney_T = IWriteOffMoney_S & IWriteOffMoney$;
  3076. interface IWriteOffMoney extends IWriteOffMoney_T {
  3077. }
  3078. interface IAmountControl_S {
  3079. }
  3080. interface IAmountControl$ {
  3081. /**
  3082. * 提交时是否要超额判断逻辑
  3083. * @param DynamicObject 单据页面提交时的元数据
  3084. * @return boolean
  3085. *
  3086. * <p>扩展示例如下</p>
  3087. * <pre><code>
  3088. * public class AmountControl implements IAmountControl {
  3089. * public boolean cancelAmountControl(DynamicObject dynamicObject) {
  3090. * //要超额判断
  3091. * return true;
  3092. * }
  3093. * }
  3094. * </code></pre>
  3095. */
  3096. cancelAmountControl(dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):boolean;
  3097. }
  3098. type IAmountControl_T = IAmountControl_S & IAmountControl$;
  3099. interface IAmountControl extends IAmountControl_T {
  3100. }
  3101. interface IChangeReceiveAmount_S {
  3102. }
  3103. interface IChangeReceiveAmount$ {
  3104. /**
  3105. * 允许二开在收款信息分录联动结束后,重新计算收款信息分录金额
  3106. * 作用于 kd.fi.er.formplugin.daily.web.util.WriteOffMoneyUtils.refreshReceiveAmount
  3107. * kd.fi.er.formplugin.daily.web.util.WriteOffMoneyUtils#refreshReceiveAmount
  3108. * @param dataModel 页面model
  3109. * @param writeOffType 冲销方式
  3110. * @return kd.fi.er.business.daily.reimburse.AmountObject对象
  3111. */
  3112. afterChangeReciveAmount?(dataModel:$.kd.bos.entity.datamodel.IDataModel,writeOffType:string):any;
  3113. /**
  3114. * @param view 单据界面
  3115. * @return 是否联动收款金额
  3116. *
  3117. * <p>扩展示例如下</p>
  3118. * <pre><code>
  3119. * public boolean isChangeReceiveAmount(IFormView iFormView) {
  3120. * return false;
  3121. * }
  3122. * </code></pre>
  3123. */
  3124. isChangeReceiveAmount(view:$.kd.bos.form.IFormView):boolean;
  3125. }
  3126. type IChangeReceiveAmount_T = IChangeReceiveAmount_S & IChangeReceiveAmount$;
  3127. interface IChangeReceiveAmount extends IChangeReceiveAmount_T {
  3128. }
  3129. interface IReimburseAmount_S {
  3130. }
  3131. interface IReimburseAmount$ {
  3132. /**
  3133. * 获取获取在途的已用部门额度
  3134. * @param param
  3135. * @return
  3136. */
  3137. getDeptCurrentInReimbursedAmountBetween(param:$.java.util.Map):$.java.util.List;
  3138. /**
  3139. * 获取已报销的部门额度
  3140. * @param param
  3141. * @return
  3142. */
  3143. getDeptReimbursedAmountBetween(param:$.java.util.Map):$.java.math.BigDecimal;
  3144. /**
  3145. * 获取某个部门,某项费用项目,在某个时间区间内已报销的额度详情
  3146. * @param param
  3147. * @return
  3148. */
  3149. getDeptReimbursedAmountDetailBetween(param:$.java.util.Map):$.java.util.List;
  3150. /**
  3151. * 获取某个员工,某项费用项目,在某个时间区间内 正在报销流程中的单据金额(状态:已提交B,审核中C)
  3152. * @param param 额度处理参数key分别为 company 公司 dept/userid 部门或人员id expenseitem 费用项目
  3153. * currency 本位币 begindate 开始时间 enddate 结束时间 existids
  3154. * @return 额度
  3155. *
  3156. * <p>扩展示例如下</p>
  3157. * <pre><code>
  3158. * public BigDecimal getEmployeeCurrentInReimbursedAmountBetween(Map<String, Object> map) {
  3159. * BigDecimal result = BigDecimal.ZERO;
  3160. * String amount = ErStdConfig.get("Amont.Ctrl.Ext.Dept");
  3161. * result = new BigDecimal(amount);
  3162. * if(result == null) {
  3163. * result = BigDecimal.ZERO;
  3164. * }
  3165. * return result;
  3166. * }
  3167. * </code></pre>
  3168. */
  3169. getEmployeeCurrentInReimbursedAmountBetween(param:$.java.util.Map):$.java.math.BigDecimal;
  3170. /**
  3171. * 获取某个员工,某项费用项目,在某个时间区间内已报销的额度
  3172. * @param param
  3173. * @return
  3174. */
  3175. getEmployeeReimbursedAmountBetween(param:$.java.util.Map):$.java.math.BigDecimal;
  3176. /**
  3177. * 获取某个员工,某项费用项目,在某个时间区间内已报销的额度详情
  3178. * @param param
  3179. * @return
  3180. */
  3181. getEmployeeReimbursedAmountDetailBetween(param:$.java.util.Map):$.java.math.BigDecimal;
  3182. }
  3183. type IReimburseAmount_T = IReimburseAmount_S & IReimburseAmount$;
  3184. interface IReimburseAmount extends IReimburseAmount_T {
  3185. }
  3186. interface IAssetentryMustInput_S {
  3187. }
  3188. interface IAssetentryMustInput$ {
  3189. /**
  3190. * 返回true时,校验资产报账单资产分录必填,false不校验
  3191. * @param bill
  3192. * @return
  3193. *
  3194. * <p>扩展示例如下</p>
  3195. * <pre><code>
  3196. * public class AssetentryMustInput implements IAssetentryMustInput {
  3197. * @Override
  3198. * public Boolean checkAssetEntryMustInput(DynamicObject bill) {
  3199. * return Boolean.FALSE;
  3200. * }
  3201. * }
  3202. * </code></pre>
  3203. */
  3204. checkAssetEntryMustInput(bill:$.kd.bos.dataentity.entity.DynamicObject):boolean;
  3205. }
  3206. type IAssetentryMustInput_T = IAssetentryMustInput_S & IAssetentryMustInput$;
  3207. interface IAssetentryMustInput extends IAssetentryMustInput_T {
  3208. }
  3209. }
  3210. namespace kd.sdk.fi.er.extpoint.draw{
  3211. interface IDrawRuleService_S {
  3212. }
  3213. interface IDrawRuleService$ {
  3214. /**
  3215. * 对于标准产品代码里写死的ruleid,允许现场通过此方法修改掉。
  3216. * @param srcEntity 上拉的实体
  3217. * @param tarEntity 目标实体
  3218. * @param tarView 目标view
  3219. * @param rows 选择的数据
  3220. * @param ruleId 现有的ruleId
  3221. * @return 期望的ruleId
  3222. *
  3223. * <p>扩展示例如下</p>
  3224. * <pre><code>
  3225. * public String getRuleId(String srcEntity, String tarEntity, IFormView tarView, ListSelectedRowCollection rows,
  3226. * String ruleId) {
  3227. * //如果是二开的报销单上拉二开的借款单
  3228. * if("4b3z_er_dailyloanbill_inh".equals(srcEntity) && "4b3z_er_dailyreimbursebill_inh".equals(tarEntity)){
  3229. * return "123622523888";
  3230. * }
  3231. * //其他情况走原有规则不动
  3232. * return ruleId;
  3233. * }
  3234. * </code></pre>
  3235. */
  3236. getRuleId(srcEntity:string,tarEntity:string,tarView:$.kd.bos.form.IFormView,rows:$.kd.bos.entity.datamodel.ListSelectedRowCollection,ruleId:string):string;
  3237. }
  3238. type IDrawRuleService_T = IDrawRuleService_S & IDrawRuleService$;
  3239. interface IDrawRuleService extends IDrawRuleService_T {
  3240. }
  3241. }
  3242. namespace kd.sdk.fi.er.extpoint.invoicecloud{
  3243. interface IAfterHandleBillPool_S {
  3244. readonly BIZCODE:string;
  3245. }
  3246. interface IAfterHandleBillPool$ {
  3247. /**
  3248. * 金额回写账单池后根据扩展参数二开处理
  3249. *
  3250. * @param extMap 扩展参数
  3251. * @param billingPool 目标账单池对象
  3252. */
  3253. handleExtMapAfterAmountBack?(extMap:$.java.util.Map,billingPool:$.kd.bos.dataentity.entity.DynamicObject):void;
  3254. /**
  3255. * 账单池对象生成后根据扩展参数二开处理
  3256. *
  3257. * @param extMap 扩展参数
  3258. * @param billingPool 目标账单池对象
  3259. * @return void
  3260. *
  3261. * <p>扩展示例如下</p>
  3262. * <pre><code>
  3263. * public class Test2 implements IAfterHandleBillPool{
  3264. * public void handleExtMapAfterGenBillPool(Map<String, Object> extMap, DynamicObject billingPool) {
  3265. * String tt = extMap.get("testKey").toString();
  3266. * billingPool.set("testKey",tt);
  3267. * }
  3268. *
  3269. * public void handleExtMapAfterAmountBack(Map<String, Object> extMap, DynamicObject billingPool) {
  3270. * String tt = extMap.get("testKey").toString();
  3271. * billingPool.set("testKey",tt);
  3272. * }
  3273. * }
  3274. * </code></pre>
  3275. */
  3276. handleExtMapAfterGenBillPool?(extMap:$.java.util.Map,billingPool:$.kd.bos.dataentity.entity.DynamicObject):void;
  3277. }
  3278. type IAfterHandleBillPool_T = IAfterHandleBillPool_S & IAfterHandleBillPool$;
  3279. interface IAfterHandleBillPool extends IAfterHandleBillPool_T {
  3280. }
  3281. interface IBeforeHandleBillPoolParamPrepare_S {
  3282. readonly BIZCODE:string;
  3283. }
  3284. interface IBeforeHandleBillPoolParamPrepare$ {
  3285. /**
  3286. * 金额回写账单池前扩展参数准备处理
  3287. *
  3288. * @param sourceBill 来源报销单对象
  3289. * @param extMap 扩展参数Map
  3290. */
  3291. prepareExtParamBeforeAmountBack?(sourceBill:$.kd.bos.dataentity.entity.DynamicObject,extMap:$.java.util.Map):void;
  3292. /**
  3293. * 生成账单池前扩展参数准备处理
  3294. *
  3295. * @param sourceBill 来源报销单对象
  3296. * @param extMap 扩展参数Map
  3297. * @return void
  3298. *
  3299. * <p>扩展示例如下</p>
  3300. * <pre><code>
  3301. * public class Test1 implements IBeforeHandleBillPoolParamPrepare{
  3302. *
  3303. * public void prepareExtParamBeforeGenBillPool(DynamicObject sourceBill, Map<String, Object> extMap) {
  3304. * extMap.put("testKey","prepareExtParamBeforeGenBillPool");
  3305. * }
  3306. *
  3307. * public void prepareExtParamBeforeAmountBack(DynamicObject sourceBill, Map<String, Object> extMap) {
  3308. * extMap.put("testKey","prepareExtParamBeforeAmountBack");
  3309. * }
  3310. *
  3311. * public String prepareSelectPropertiesBeforeAmountBack(Map<String, Object> extMap) {
  3312. * return ",testKey,usage";
  3313. * }
  3314. * }
  3315. * </code></pre>
  3316. */
  3317. prepareExtParamBeforeGenBillPool?(sourceBill:$.kd.bos.dataentity.entity.DynamicObject,extMap:$.java.util.Map):void;
  3318. /**
  3319. * 金额回写账单池补充需要处理的账单池字段
  3320. *
  3321. * @param extMap 扩展参数Map
  3322. */
  3323. prepareSelectPropertiesBeforeAmountBack?(extMap:$.java.util.Map):string;
  3324. }
  3325. type IBeforeHandleBillPoolParamPrepare_T = IBeforeHandleBillPoolParamPrepare_S & IBeforeHandleBillPoolParamPrepare$;
  3326. interface IBeforeHandleBillPoolParamPrepare extends IBeforeHandleBillPoolParamPrepare_T {
  3327. }
  3328. interface AfterSelectInvoice_S {
  3329. readonly BIZCODE:string;
  3330. }
  3331. interface AfterSelectInvoice$ {
  3332. /**
  3333. * 选择发票后,缓存发票云传回的原始的发票json信息。
  3334. * @param jsonFromInvoiceCloud 选择发票后,发票云传回的原始的发票json信息。
  3335. * @return
  3336. *
  3337. * <p>扩展示例如下
  3338. * <pre><code>
  3339. * public class AfterSelectInvoiceDemo implements AfterSelectInvoice {
  3340. *
  3341. * private String jsonFromInvoiceCloud = null;
  3342. *
  3343. * @Override
  3344. * public void cacheJsonFromInvoiceCloud(String jsonFromInvoiceCloud){
  3345. * this.jsonFromInvoiceCloud = jsonFromInvoiceCloud;
  3346. * }
  3347. *
  3348. * }
  3349. * </code></pre>
  3350. */
  3351. cacheJsonFromInvoiceCloud?(jsonFromInvoiceCloud:string):void;
  3352. /**
  3353. * 标准产品的代码根据发票信息完成发票信息分录、发票明细分录、费用/差旅明细分录等一切界面字段的填充后,调用此方法。<p>
  3354. * @param view 单据界面的view
  3355. * @return
  3356. *
  3357. * <p>扩展示例如下
  3358. *
  3359. * <pre><code>
  3360. * public class AfterSelectInvoiceDemo implements AfterSelectInvoice {
  3361. * private static final Log logger = LogFactory.getLog(AfterSelectInvoiceDemo.class);
  3362. *
  3363. * // 定义成员变量,缓存cacheJsonFromInvoiceCloud所传入的参数
  3364. * private String jsonFromInvoiceCloud = null;
  3365. *
  3366. * @Override
  3367. * public void cacheJsonFromInvoiceCloud(String jsonFromInvoiceCloud){
  3368. * logger.info("sdk: 选择发票后,缓存发票云传回的原始的发票json信息: " + jsonFromInvoiceCloud);
  3369. * this.jsonFromInvoiceCloud = jsonFromInvoiceCloud;
  3370. * }
  3371. *
  3372. * @Override
  3373. * public void finish(IFormView view){
  3374. * logger.info("sdk: 标准产品的代码根据发票信息完成发票信息分录、发票明细分录、费用/差旅明细分录等一切界面字段的填充后,调用此方法。");
  3375. * // 单据上的发票信息分录
  3376. * IDataModel model = view.getModel();
  3377. * DynamicObjectCollection invoiceentries = model.getEntryEntity("invoiceentry");
  3378. *
  3379. * // 发票云返回的原始发票信息
  3380. * Map<String, Object> mapFromInvoiceCloud = SerializationUtils.fromJsonString(this.jsonFromInvoiceCloud, Map.class);
  3381. * List<Map> invoiceInfos = (List)mapFromInvoiceCloud.get("data");
  3382. * }
  3383. * }
  3384. * </code></pre>
  3385. */
  3386. finish?(view:$.kd.bos.form.IFormView):void;
  3387. }
  3388. type AfterSelectInvoice_T = AfterSelectInvoice_S & AfterSelectInvoice$;
  3389. interface AfterSelectInvoice extends AfterSelectInvoice_T {
  3390. }
  3391. }
  3392. namespace kd.sdk.fi.er.extpoint.share{
  3393. interface IAfterHandleShareLogic_S {
  3394. readonly BIZCODE:string;
  3395. }
  3396. interface IAfterHandleShareLogic$ {
  3397. /**
  3398. * 事前分摊生成摊销明细后根据扩展参数二开处理
  3399. * @param bill 目标单据对象
  3400. */
  3401. handleLogicAfterBuildDoneEntry?(bill:$.kd.bos.dataentity.entity.DynamicObject):void;
  3402. /**
  3403. * 预览摊销明细或事后分摊生成摊销明细后扩展处理
  3404. * @param view
  3405. */
  3406. handleLogicAfterExpenseShareView?(view:$.kd.bos.form.IFormView):void;
  3407. /**
  3408. * 自动生成分摊单字段二开逻辑
  3409. * @param reimbill 报销单据对象
  3410. * @param sharebill 分摊单据对象
  3411. */
  3412. handleLogicAfterFillFields?(sharebill:$.kd.bos.dataentity.entity.DynamicObject,reimbill:$.kd.bos.dataentity.entity.DynamicObject):void;
  3413. /**
  3414. * 注册二开属性处理
  3415. * @param entityName 单据类型
  3416. * @param preparePropertys 属性列表
  3417. */
  3418. handleLogicAfterGetPreparePropertys?(entityName:string,preparePropertys:$.java.util.List):void;
  3419. }
  3420. type IAfterHandleShareLogic_T = IAfterHandleShareLogic_S & IAfterHandleShareLogic$;
  3421. interface IAfterHandleShareLogic extends IAfterHandleShareLogic_T {
  3422. }
  3423. }
  3424. namespace kd.sdk.fi.er.extpoint.trip{
  3425. interface ITripCheckReqBillCloseService_S {
  3426. readonly BIZCODE:string;
  3427. }
  3428. interface ITripCheckReqBillCloseService$ {
  3429. /**
  3430. * 校验出差申请单是否可以关闭
  3431. * @param reqBill 出差申请单
  3432. * @param operateKey 操作类型
  3433. * @return true 可关闭,false 不可关闭
  3434. */
  3435. checkReqBillClose(reqBill:$.kd.bos.dataentity.entity.DynamicObject,operateKey:string):boolean;
  3436. }
  3437. type ITripCheckReqBillCloseService_T = ITripCheckReqBillCloseService_S & ITripCheckReqBillCloseService$;
  3438. interface ITripCheckReqBillCloseService extends ITripCheckReqBillCloseService_T {
  3439. }
  3440. interface ITripOrderUpdateReimService_S {
  3441. readonly BIZCODE:string;
  3442. }
  3443. interface ITripOrderUpdateReimService$ {
  3444. /**
  3445. * 订单追加差旅报销单扩展
  3446. * @param reim 差旅报销单
  3447. */
  3448. orderUpdateReim(reim:$.kd.bos.dataentity.entity.DynamicObject):void;
  3449. }
  3450. type ITripOrderUpdateReimService_T = ITripOrderUpdateReimService_S & ITripOrderUpdateReimService$;
  3451. interface ITripOrderUpdateReimService extends ITripOrderUpdateReimService_T {
  3452. }
  3453. interface ITripCheckOrderUserStatusService_S {
  3454. readonly BIZCODE:string;
  3455. }
  3456. interface ITripCheckOrderUserStatusService$ {
  3457. /**
  3458. * 校验订单是否已使用
  3459. * @param dynamicObject orderbill
  3460. * @return true 已使用,false 未使用
  3461. */
  3462. checkOrderUserStatus(dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):boolean;
  3463. }
  3464. type ITripCheckOrderUserStatusService_T = ITripCheckOrderUserStatusService_S & ITripCheckOrderUserStatusService$;
  3465. interface ITripCheckOrderUserStatusService extends ITripCheckOrderUserStatusService_T {
  3466. }
  3467. }
  3468. namespace kd.sdk.fi.fatvs.extpoint.skill{
  3469. interface ISkillRunnableExtPlugin_S {
  3470. }
  3471. interface ISkillRunnableExtPlugin$ {
  3472. /**
  3473. * 获取技能运行数据
  3474. *
  3475. * @param runExtContext
  3476. * 技能运行数据入参
  3477. * @return 技能运行数据
  3478. */
  3479. pullData?(runExtContext:SkillRunExtContext):SkillRunExtResult;
  3480. /**
  3481. * 展示技能使用情况指标
  3482. *
  3483. * @param indicatorParam
  3484. * 技能使用情况指标入参
  3485. */
  3486. showSkillIndicator?(indicatorParam:SkillIndicatorParam):void;
  3487. /**
  3488. * 展示技能运行分析页
  3489. *
  3490. * @param pageParam
  3491. * 技能分析页入参
  3492. */
  3493. showSkillRunAnalysisPage?(pageParam:SkillRunAnalysisPageParam):void;
  3494. }
  3495. type ISkillRunnableExtPlugin_T = ISkillRunnableExtPlugin_S & ISkillRunnableExtPlugin$;
  3496. interface ISkillRunnableExtPlugin extends ISkillRunnableExtPlugin_T {
  3497. }
  3498. interface SkillRunExtResult_S {
  3499. }
  3500. interface SkillRunExtResult_C extends SkillRunExtResult_S {
  3501. new():SkillRunExtResult;
  3502. }
  3503. interface SkillRunExtResult$ {
  3504. getData():$.java.util.List;
  3505. getDate():Date;
  3506. getEndTime():Date;
  3507. getFailCount():number;
  3508. getSkillNum():string;
  3509. getStartTime():Date;
  3510. getTotalCount():number;
  3511. setData(data:$.java.util.List):void;
  3512. setDate(date:Date):void;
  3513. setEndTime(endTime:Date):void;
  3514. setFailCount(failCount:number):void;
  3515. setSkillNum(skillNum:string):void;
  3516. setStartTime(startTime:Date):void;
  3517. setTotalCount(totalCount:number):void;
  3518. }
  3519. type SkillRunExtResult_T = SkillRunExtResult_S & SkillRunExtResult$;
  3520. interface SkillRunExtResult extends SkillRunExtResult_T {
  3521. }
  3522. interface SkillRunAnalysisPageParam_S {
  3523. }
  3524. interface SkillRunAnalysisPageParam_C extends SkillRunAnalysisPageParam_S {
  3525. new():SkillRunAnalysisPageParam;
  3526. }
  3527. interface SkillRunAnalysisPageParam$ {
  3528. getExtParam():$.java.util.Map;
  3529. getSkillId():long;
  3530. getSkillNum():string;
  3531. getView():$.kd.bos.form.IFormView;
  3532. setExtParam(extParam:$.java.util.Map):void;
  3533. setSkillId(skillId:long):void;
  3534. setSkillNum(skillNum:string):void;
  3535. setView(view:$.kd.bos.form.IFormView):void;
  3536. }
  3537. type SkillRunAnalysisPageParam_T = SkillRunAnalysisPageParam_S & SkillRunAnalysisPageParam$;
  3538. interface SkillRunAnalysisPageParam extends SkillRunAnalysisPageParam_T {
  3539. }
  3540. interface SkillIndicatorParam_S {
  3541. }
  3542. interface SkillIndicatorParam_C extends SkillIndicatorParam_S {
  3543. new():SkillIndicatorParam;
  3544. }
  3545. interface SkillIndicatorParam$ {
  3546. getExtParam():$.java.util.Map;
  3547. getIndicatorNum():string;
  3548. getSkillId():long;
  3549. getSkillNum():string;
  3550. getView():$.kd.bos.form.IFormView;
  3551. setExtParam(extParam:$.java.util.Map):void;
  3552. setIndicatorNum(indicatorNum:string):void;
  3553. setSkillId(skillId:long):void;
  3554. setSkillNum(skillNum:string):void;
  3555. setView(view:$.kd.bos.form.IFormView):void;
  3556. }
  3557. type SkillIndicatorParam_T = SkillIndicatorParam_S & SkillIndicatorParam$;
  3558. interface SkillIndicatorParam extends SkillIndicatorParam_T {
  3559. }
  3560. interface SkillRunExtContext_S {
  3561. }
  3562. interface SkillRunExtContext_C extends SkillRunExtContext_S {
  3563. new():SkillRunExtContext;
  3564. }
  3565. interface SkillRunExtContext$ {
  3566. getEndTime():Date;
  3567. getSkillId():long;
  3568. getSkillNum():string;
  3569. getSkillResult():SkillRunExtResult;
  3570. getStartTime():Date;
  3571. setEndTime(endTime:Date):void;
  3572. setSkillId(skillId:long):void;
  3573. setSkillNum(skillNum:string):void;
  3574. setSkillResult(skillResult:SkillRunExtResult):void;
  3575. setStartTime(startTime:Date):void;
  3576. }
  3577. type SkillRunExtContext_T = SkillRunExtContext_S & SkillRunExtContext$;
  3578. interface SkillRunExtContext extends SkillRunExtContext_T {
  3579. }
  3580. }
  3581. namespace kd.sdk.fi.fca.extpoint{
  3582. interface ITranSupBillVoucher_S {
  3583. }
  3584. interface ITranSupBillVoucher$ {
  3585. /**
  3586. * 上划处理单凭证号扩展插件
  3587. * @param rows 列表数据
  3588. * @return void
  3589. *
  3590. * <b>扩展示例如下
  3591. * <pre><code>
  3592. * package kd.tmc.fca.formplugin.transbill;
  3593. *
  3594. * import kd.bos.dataentity.entity.DynamicObject;
  3595. * import kd.bos.dataentity.entity.DynamicObjectCollection;
  3596. * import kd.sdk.fi.fca.extpoint.ITranSupBillVoucher;
  3597. *
  3598. * public class TranSupBillVoucher implements ITranSupBillVoucher {
  3599. * @Override
  3600. * public void setIVoucher(DynamicObjectCollection rows) {
  3601. * ITranSupBillVoucher.super.setIVoucher(rows);
  3602. * for(DynamicObject row :rows){
  3603. * row.set("description","123456");
  3604. * }
  3605. * }
  3606. * }
  3607. * </code></pre>
  3608. */
  3609. setIVoucher?(rows:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
  3610. }
  3611. type ITranSupBillVoucher_T = ITranSupBillVoucher_S & ITranSupBillVoucher$;
  3612. interface ITranSupBillVoucher extends ITranSupBillVoucher_T {
  3613. }
  3614. }
  3615. namespace kd.sdk.fi.fcm.extpoint.checkitem{
  3616. interface CheckContext_S {
  3617. }
  3618. type CheckContext_ST = $.java.io.Serializable & CheckContext_S;
  3619. interface CheckContext_C extends CheckContext_ST {
  3620. }
  3621. interface CheckContext$ {
  3622. /**
  3623. * 当前业务应用系统简码(非必须)
  3624. */
  3625. getBizAppId():string;
  3626. /**
  3627. * 核算组织ID
  3628. */
  3629. getOrgId():long;
  3630. /**
  3631. * 自定义期间结束时间, 一定不为null
  3632. */
  3633. getPeriodEndDate():Date;
  3634. /**
  3635. * 会计期间ID - 对于具体的应用可能不存在, 视调用方传参而定
  3636. */
  3637. getPeriodId():long;
  3638. /**
  3639. * 自定义期间开始时间, 一定不为null
  3640. */
  3641. getPeriodStartDate():Date;
  3642. /**
  3643. * 插件配置参数 - 用户在配置检查项时进行设置
  3644. */
  3645. getPluginDefineParams():$.java.util.Map;
  3646. /**
  3647. * 结账子业务类型,根据不同的业务系统有不同的主账簿类型
  3648. * 总账是账簿类型
  3649. * 资产是资产用途
  3650. * 应收是政策类型
  3651. * 库存是账簿类别
  3652. */
  3653. setBizAppId(bizAppId:string):void;
  3654. }
  3655. type CheckContext_T = $.java.io.Serializable & CheckContext_S & CheckContext$;
  3656. interface CheckContext extends CheckContext_T {
  3657. }
  3658. interface IClosePeriodCheckPlugin_S {
  3659. }
  3660. interface IClosePeriodCheckPlugin$ {
  3661. /**
  3662. * 根据指定的结账检查上下文 context,实现特定的业务检查。
  3663. *
  3664. * Note: 插件必须提供一个无参构造函数,由执行程序通过反射进行调用
  3665. *
  3666. * @param context 结账检查上下文, 包含检查项定义的信息
  3667. * @return 结账检查结果
  3668. * @throws Throwable 检查项的逻辑异常
  3669. *
  3670. * <p>扩展示例如下
  3671. *
  3672. * <pre><code>
  3673. * public class PostChecker implements IClosePeriodCheckPlugin {
  3674. * &#64;Override
  3675. * public CheckResult execute(CheckContext context) throws Throwable {
  3676. * CheckResult result = new CheckResult();
  3677. * QFilter post = new QFilter("ispost", "=", "0");
  3678. * boolean ispost = checkPost();
  3679. * if (!ispost) {
  3680. * result.setIsSuccess(true);
  3681. * } else {
  3682. * QFilter qf = new QFilter("booktype", QCP.equals, Long.valueOf(context.getSubBizAppId()));
  3683. * qf.and("ispost", QCP.equals, '0');
  3684. * qf.and("period", QCP.equals, context.getPeriodId());
  3685. * qf.and("org, QCP.equals, context.getOrgId());
  3686. * result.setIsSuccess(false);
  3687. * result.setOnlineQueryParams(qf.toSerializedString());
  3688. * result.setOnlineViewId("gl_voucher);
  3689. * List<String> errorMsg = new ArrayList<String>(1);
  3690. * errorMsg.add(ResManager.loadKDString("存在未过账", "VoucherPostChecker_0", "fi-gl-common"));
  3691. * result.setMessages(errorMsg);
  3692. * }
  3693. * return result;
  3694. * }
  3695. * }
  3696. * </code></pre>
  3697. */
  3698. execute(context:CheckContext):CheckResult;
  3699. }
  3700. type IClosePeriodCheckPlugin_T = IClosePeriodCheckPlugin_S & IClosePeriodCheckPlugin$;
  3701. interface IClosePeriodCheckPlugin extends IClosePeriodCheckPlugin_T {
  3702. }
  3703. interface CheckResult_S {
  3704. }
  3705. type CheckResult_ST = $.java.io.Serializable & CheckResult_S;
  3706. interface CheckResult_C extends CheckResult_ST {
  3707. new():CheckResult;
  3708. }
  3709. interface CheckResult$ {
  3710. /**
  3711. * 是否检查成功, 如果不成功,将会提供联查页面给客户联查
  3712. */
  3713. setIsSuccess(success:boolean):void;
  3714. /**
  3715. * 插件执行过程中返回的消息列表
  3716. */
  3717. setMessages(messages:$.java.util.List):void;
  3718. /**
  3719. * 联查页面数据过滤条件(参数), 该值做为联查页面视图的过滤条件,请确保该联查参数跟联查页面视图是匹配的
  3720. *
  3721. * 该参数的可能取值类型为:
  3722. * 1. 该参数可以为外部URL的查询参数,在<code>onlineViewId</code> 为URL协议开头时, 该参数会拼接到其后面,构成整个联查页面的
  3723. * URL, 参见 kd.bos.ext.fi.fcm.mservice.CheckItemDetail#buildExternalUrl()
  3724. * 2. 该参数如果为应用内的过滤条件,其为QFilter的序列化字符串
  3725. */
  3726. setOnlineQueryParams(onlineQueryParams:string):void;
  3727. /**
  3728. * 联查页面视图ID, 如果该值为null或empty, 将不会提供联查页面
  3729. * 既可以为应用内部的实体entityname, 也可以是外部URL,以http:// 或者https://开头
  3730. */
  3731. setOnlineViewId(onlineViewId:string):void;
  3732. }
  3733. type CheckResult_T = $.java.io.Serializable & CheckResult_S & CheckResult$;
  3734. interface CheckResult extends CheckResult_T {
  3735. }
  3736. }
  3737. namespace kd.sdk.fi.fgptas.extpoint.attachment{
  3738. interface IPictureAnalysis_S {
  3739. }
  3740. interface IPictureAnalysis$ {
  3741. /**
  3742. * 把图片转换后的文本转化成自然语言,并放入提示词中
  3743. * @param pictureAnalysisResult
  3744. * @return
  3745. */
  3746. toPrompt?(pictureAnalysisResult:string):string;
  3747. /**
  3748. * 把图片转换成文本
  3749. * @param attachInfos 所有需要处理的图片信息<br/>
  3750. * 数据来源附件面板服务,键值对参考附件面板服务的返回值 kd.bos.servicehelper.AttachmentServiceHelper#getAttachments<br/>
  3751. * 在此扩展点可能用到的键:relativeUrl/url/previewurl: 相对路径/全路径/预览路径
  3752. * @return PictureAnalysisResult集合
  3753. *
  3754. * @see kd.bos.servicehelper.AttachmentServiceHelper#getAttachments(String, Object[], String, boolean)
  3755. * @see PictureAnalysisResult
  3756. */
  3757. toText(attachInfos:$.java.util.List):$.java.util.List;
  3758. }
  3759. type IPictureAnalysis_T = IPictureAnalysis_S & IPictureAnalysis$;
  3760. interface IPictureAnalysis extends IPictureAnalysis_T {
  3761. }
  3762. interface MultiScanPdfOrcResponse_S {
  3763. }
  3764. interface MultiScanPdfOrcResponse_C extends MultiScanPdfOrcResponse_S {
  3765. new():MultiScanPdfOrcResponse;
  3766. }
  3767. interface MultiScanPdfOrcResponse$ {
  3768. getData():MultiScanPdfOrcData;
  3769. getErrCode():string;
  3770. getErrMsg():string;
  3771. getPageNum():number;
  3772. isSuccess():boolean;
  3773. setData(data:MultiScanPdfOrcData):void;
  3774. setErrCode(errCode:string):void;
  3775. setErrMsg(errMsg:string):void;
  3776. setPageNum(pageNum:number):void;
  3777. setSuccess(success:boolean):void;
  3778. }
  3779. type MultiScanPdfOrcResponse_T = MultiScanPdfOrcResponse_S & MultiScanPdfOrcResponse$;
  3780. interface MultiScanPdfOrcResponse extends MultiScanPdfOrcResponse_T {
  3781. }
  3782. interface SealOcrResponse_S {
  3783. }
  3784. interface SealOcrResponse_C extends SealOcrResponse_S {
  3785. new():SealOcrResponse;
  3786. new(success:boolean,errCode:string,errMsg:string):SealOcrResponse;
  3787. }
  3788. interface SealOcrResponse$ {
  3789. getErrCode():string;
  3790. getErrMsg():string;
  3791. getSealOcrResultList():$.java.util.List;
  3792. isSuccess():boolean;
  3793. setErrCode(errCode:string):void;
  3794. setErrMsg(errMsg:string):void;
  3795. setSealOcrResultList(sealOcrResultList:$.java.util.List):void;
  3796. setSuccess(success:boolean):void;
  3797. }
  3798. type SealOcrResponse_T = SealOcrResponse_S & SealOcrResponse$;
  3799. interface SealOcrResponse extends SealOcrResponse_T {
  3800. }
  3801. enum AttachmentType {
  3802. PICTURE,
  3803. TEXT
  3804. }
  3805. interface PreProcessResult_S {
  3806. }
  3807. interface PreProcessResult_C extends PreProcessResult_S {
  3808. new():PreProcessResult;
  3809. }
  3810. interface PreProcessResult$ {
  3811. getAttachTemplateId():long;
  3812. getAuditElementParseResponse():AuditElementParseResponse;
  3813. getExtractAuditElementCost():number;
  3814. getExtractRequestId():string;
  3815. getLlmParticipateStatus():LLMParticipateStatus;
  3816. getMatchTemplateCost():number;
  3817. getSealOcrResponse():SealOcrResponse;
  3818. getTemplateRequestId():string;
  3819. setAttachTemplateId(attachTemplateId:long):void;
  3820. setAuditElementParseResponse(auditElementParseResponse:AuditElementParseResponse):void;
  3821. setExtractAuditElementCost(extractAuditElementCost:number):void;
  3822. setExtractRequestId(extractRequestId:string):void;
  3823. setLlmParticipateStatus(llmParticipateStatus:LLMParticipateStatus):void;
  3824. setMatchTemplateCost(matchTemplateCost:number):void;
  3825. setSealOcrResponse(sealOcrResponse:SealOcrResponse):void;
  3826. setTemplateRequestId(templateRequestId:string):void;
  3827. }
  3828. type PreProcessResult_T = PreProcessResult_S & PreProcessResult$;
  3829. interface PreProcessResult extends PreProcessResult_T {
  3830. }
  3831. interface IAuditElementParser_S {
  3832. }
  3833. interface IAuditElementParser$ {
  3834. /**
  3835. * 解析ocr结果
  3836. * @param ocrData ocrData
  3837. * @param attachTemplateId 附件模板编号
  3838. * @return 审核要素结果
  3839. * {
  3840. * success: 是否解析成功 true/false
  3841. * errCode: 错误码 错误码可以自己定义,错误时会将错误码和错误信息记录到审核要素结果中
  3842. * errMsg: 错误信息
  3843. * data:审核要素信息,做成JSONString(成功时会将data记录到审核要素结果)。JSON格式大概如下 eg:
  3844. * {
  3845. * "totalAmount":"总金额", 数据头分组的审核要素
  3846. * "item":[{ 数据分录分组的编号
  3847. * "kind":"种类", tem分组下的审核要素
  3848. * "amount":"20.02" tem分组下的审核要素
  3849. * }]
  3850. * }
  3851. * }
  3852. */
  3853. parse(ocrData:OcrData,attachTemplateId:long):AuditElementParseResponse;
  3854. }
  3855. type IAuditElementParser_T = IAuditElementParser_S & IAuditElementParser$;
  3856. interface IAuditElementParser extends IAuditElementParser_T {
  3857. }
  3858. interface OcrData_S {
  3859. }
  3860. interface OcrData_C extends OcrData_S {
  3861. new():OcrData;
  3862. }
  3863. interface OcrData$ {
  3864. getAttachmentSource():AttachmentSource;
  3865. getFileType():string;
  3866. getFileUrl():string;
  3867. getOcrResultList():$.java.util.List;
  3868. getOcrSysNo():string;
  3869. getPreviewUrl():string;
  3870. getSourceImgSys():string;
  3871. setAttachmentSource(attachmentSource:AttachmentSource):void;
  3872. setFileType(fileType:string):void;
  3873. setFileUrl(fileUrl:string):void;
  3874. setOcrResultList(ocrResultList:$.java.util.List):void;
  3875. setOcrSysNo(ocrSysNo:string):void;
  3876. setPreviewUrl(previewUrl:string):void;
  3877. setSourceImgSys(sourceImgSys:string):void;
  3878. }
  3879. type OcrData_T = OcrData_S & OcrData$;
  3880. interface OcrData extends OcrData_T {
  3881. }
  3882. enum LLMParticipateStatus {
  3883. MATCH_TEMPLATE,
  3884. EXTRACT_AUDIT_ELEMENT,
  3885. ALL,
  3886. NONE
  3887. }
  3888. interface MultiScanPdfOrcData_S {
  3889. }
  3890. interface MultiScanPdfOrcData_C extends MultiScanPdfOrcData_S {
  3891. new():MultiScanPdfOrcData;
  3892. }
  3893. interface MultiScanPdfOrcData$ {
  3894. getFileUrl():string;
  3895. getOcrSysNo():string;
  3896. getResult():any;
  3897. setFileUrl(fileUrl:string):void;
  3898. setOcrSysNo(ocrSysNo:string):void;
  3899. setResult(result:any):void;
  3900. }
  3901. type MultiScanPdfOrcData_T = MultiScanPdfOrcData_S & MultiScanPdfOrcData$;
  3902. interface MultiScanPdfOrcData extends MultiScanPdfOrcData_T {
  3903. }
  3904. interface IBillAuditHandler_S {
  3905. }
  3906. interface IBillAuditHandler$ {
  3907. /**
  3908. * 接口调用时机:标品附件预处理之后
  3909. *
  3910. * @param forceAll 是否强制执行
  3911. * @param billId 单据id
  3912. * @param entityNumber 单据实体标识
  3913. * @param preResultId 附件预处理结果id
  3914. *
  3915. * <p>扩展示例如下</p>
  3916. * <pre><code>
  3917. * public class BillAuditHandlerTest implements IBillAuditHandler {
  3918. * @Override
  3919. * public void afterExecuteBillAudit(boolean forceAll, Object billId, String entityNumber, long preResultId) {
  3920. * // 强制执行
  3921. * if (forceAll) {
  3922. * if (preResultId > 0) {
  3923. * // 查询预处理数据,执行业务拓展逻辑
  3924. * }
  3925. * } else {
  3926. * // 非强制执行通过业务上处理的时间与预处理时间对比再判断是否需要执行业务拓展逻辑
  3927. * }
  3928. * }
  3929. * }
  3930. * </code></pre>
  3931. */
  3932. afterExecuteBillAudit(forceAll:boolean,billId:any,entityNumber:string,preResultId:long):void;
  3933. }
  3934. type IBillAuditHandler_T = IBillAuditHandler_S & IBillAuditHandler$;
  3935. interface IBillAuditHandler extends IBillAuditHandler_T {
  3936. }
  3937. interface AuditElementParseResponse_S {
  3938. }
  3939. interface AuditElementParseResponse_C extends AuditElementParseResponse_S {
  3940. new():AuditElementParseResponse;
  3941. }
  3942. interface AuditElementParseResponse$ {
  3943. getData():string;
  3944. getErrCode():string;
  3945. getErrMsg():string;
  3946. isSuccess():boolean;
  3947. setData(data:string):void;
  3948. setErrCode(errCode:string):void;
  3949. setErrMsg(errMsg:string):void;
  3950. setSuccess(success:boolean):void;
  3951. }
  3952. type AuditElementParseResponse_T = AuditElementParseResponse_S & AuditElementParseResponse$;
  3953. interface AuditElementParseResponse extends AuditElementParseResponse_T {
  3954. }
  3955. interface IAttachPicturePreProcess_S {
  3956. }
  3957. interface IAttachPicturePreProcess$ {
  3958. /**
  3959. * 图片附件预处理
  3960. * @param ocrData ocrData
  3961. * @return 预处理结果。
  3962. * 返回对象中
  3963. * attachTemplateId:匹配上的附件模板ID
  3964. * auditElementParseResponse:{
  3965. * success: 是否解析成功 true/false
  3966. * errCode: 错误码 错误码可以自己定义,错误时会将错误码和错误信息记录到审核要素结果中
  3967. * errMsg: 错误信息
  3968. * data:审核要素信息,做成JSONString(成功时会将data记录到审核要素结果)。JSON格式大概如下 eg:
  3969. * {
  3970. * "totalAmount":"总金额", 数据头分组的审核要素
  3971. * "item":[{ 数据分录分组的编号
  3972. * "kind":"种类", tem分组下的审核要素
  3973. * "amount":"20.02" tem分组下的审核要素
  3974. * }]
  3975. * }
  3976. * }
  3977. * llmParticipateStatus: 大模型参与状态枚举 MATCH_TEMPLATE(匹配附件模板) EXTRACT_AUDIT_ELEMENT(提取审核要素) ALL(都参与了) NONE(都没参与)
  3978. * matchTemplateCost: 匹配附件模板耗时(单位:毫秒)
  3979. * extractAuditElementCost:提取审核要素耗时(单位:毫秒)
  3980. */
  3981. processPicture(ocrData:OcrData):PreProcessResult;
  3982. /**
  3983. * 图片附件预处理(上面接口的增强实现,上面接口先一个迭代发布,不做删除)
  3984. * @param ocrData ocrData
  3985. * @param entityNumber 实体编码 用于过滤附件模板上的关联单据,加强模板匹配准确度,若不实现则默认使用全部
  3986. * @return
  3987. */
  3988. processPicture(ocrData:OcrData,entityNumber:string):PreProcessResult;
  3989. }
  3990. type IAttachPicturePreProcess_T = IAttachPicturePreProcess_S & IAttachPicturePreProcess$;
  3991. interface IAttachPicturePreProcess extends IAttachPicturePreProcess_T {
  3992. }
  3993. interface IAttachmentHandler_S {
  3994. }
  3995. interface IAttachmentHandler$ {
  3996. /**
  3997. * 对附件进行分类,示例
  3998. * <pre>
  3999. * AttachmentType clarifyAttachmentType(Map<String, Object> attachInfo) {
  4000. * if ("txt".equalsIgnoreCase(attachInfo.get("type")) {
  4001. * return AttachmentType.TEXT;
  4002. * }
  4003. * if ("jpg".equalsIgnoreCase(attachInfo.get("type")) {
  4004. * return AttachmentType.PICTURE;
  4005. * }
  4006. * return null;
  4007. * }
  4008. * </pre>
  4009. * @param attachInfo 图片信息<br/>
  4010. * 数据来源附件面板服务,键值对参考附件面板服务的返回值 kd.bos.servicehelper.AttachmentServiceHelper#getAttachments<br/>
  4011. * 在此扩展点可能用到的键:name/type: 附件名称/附件扩展名
  4012. * @return AttachmentType.PICTURE 或者 AttachmentType.TEXT,如果忽略这个附件返回null
  4013. * @see AttachmentType
  4014. */
  4015. clarifyAttachmentType(attachInfo:$.java.util.Map):AttachmentType;
  4016. }
  4017. type IAttachmentHandler_T = IAttachmentHandler_S & IAttachmentHandler$;
  4018. interface IAttachmentHandler extends IAttachmentHandler_T {
  4019. }
  4020. interface IMatchAttachTemplate_S {
  4021. }
  4022. interface IMatchAttachTemplate$ {
  4023. /**
  4024. * ocr结果匹配附件模板,若没有匹配的附件模板,可返回null值,后续则会交给大模型做匹配
  4025. * @param ocrData ocr结果
  4026. * @return 附件模板基础资料的id,如果没有匹配合适的附件模板可以返回null,后续会交由大模型识别结果
  4027. */
  4028. match(ocrData:OcrData):long;
  4029. }
  4030. type IMatchAttachTemplate_T = IMatchAttachTemplate_S & IMatchAttachTemplate$;
  4031. interface IMatchAttachTemplate extends IMatchAttachTemplate_T {
  4032. }
  4033. enum AttachmentSource {
  4034. ATTACHMENT,
  4035. IMAGE_SYSTEM
  4036. }
  4037. interface OcrResponse_S {
  4038. }
  4039. interface OcrResponse_C extends OcrResponse_S {
  4040. new():OcrResponse;
  4041. }
  4042. interface OcrResponse$ {
  4043. getData():OcrData;
  4044. getErrCode():string;
  4045. getErrMsg():string;
  4046. isSuccess():boolean;
  4047. setData(data:OcrData):void;
  4048. setErrCode(errCode:string):void;
  4049. setErrMsg(errMsg:string):void;
  4050. setSuccess(success:boolean):void;
  4051. }
  4052. type OcrResponse_T = OcrResponse_S & OcrResponse$;
  4053. interface OcrResponse extends OcrResponse_T {
  4054. }
  4055. interface IOcr4Picture_S {
  4056. }
  4057. interface IOcr4Picture$ {
  4058. /**
  4059. * 获取多页pdf的ocr结果
  4060. * @param filePath 文件路径
  4061. * @param fileNum 文件页码
  4062. */
  4063. geMultiScanPdfOrcResult(filePath:string,fileNum:number):MultiScanPdfOrcResponse;
  4064. /**
  4065. * 获取OCR结果
  4066. * @param filePath 文件路径
  4067. * @param fileType 文件类型(pdf、ofd...)
  4068. * @param attachmentSource 附件来源(附件、影像)
  4069. * @param sourceImgSys 来源影像系统
  4070. * @return ocrResponse
  4071. * {
  4072. * success: 是否解析成功 true/false
  4073. * errCode: 错误码 错误码可以自己定义,错误时会将错误码和错误信息记录到审核要素结果中
  4074. * errMsg: 错误信息
  4075. * ocrData:ocr识别结果及其他数据
  4076. * {
  4077. * "ocrSysNo":"BD", 执行本次OCR的外部ocr系统的编号
  4078. * "fileUrl":"http://xxxxxx", 文件下载地址
  4079. * "previewUrl": "http://xxxx", 预览地址
  4080. * "fileType":"jpg", 文件类型,入参中的fileType
  4081. * "sourceImgSys":"", 入参中的sourceImgSys
  4082. * "attachmentSource":xx, 入参中的attachmentSource,
  4083. * "ocrResultList"[
  4084. * {
  4085. * "success": true/false,
  4086. * "result":{} OCR结果
  4087. * }
  4088. * ]
  4089. * "item":[{ 数据分录分组的编号
  4090. * "kind":"种类", tem分组下的审核要素
  4091. * "amount":"20.02" tem分组下的审核要素
  4092. * }]
  4093. * }
  4094. * }
  4095. */
  4096. getOcrResult(filePath:string,fileType:string,attachmentSource:AttachmentSource,sourceImgSys:string):OcrResponse;
  4097. /**
  4098. * 获取印章OCR识别结果
  4099. * @param filePath 文件路径
  4100. * @param fileType 文件类型
  4101. * @param prePageNum 文件前几页
  4102. * @param lastPageNum 文件后几页
  4103. * @return 印章识别结果
  4104. */
  4105. getSealOcrResult(filePath:string,fileType:string,prePageNum:number,lastPageNum:number):SealOcrResponse;
  4106. }
  4107. type IOcr4Picture_T = IOcr4Picture_S & IOcr4Picture$;
  4108. interface IOcr4Picture extends IOcr4Picture_T {
  4109. }
  4110. }
  4111. namespace kd.sdk.fi.fgptas.extpoint.decision{
  4112. interface RuleRepoExecutionPlugin_S {
  4113. }
  4114. interface RuleRepoExecutionPlugin$ {
  4115. /**
  4116. * @param parameter 调用参数
  4117. * @param ruleRepo 规则库
  4118. * @param modalPre 预处理结果
  4119. * @return 决策项结果
  4120. */
  4121. process(parameter:RuleRepoParam,ruleRepo:$.kd.bos.dataentity.entity.DynamicObject,modalPre:$.kd.bos.dataentity.entity.DynamicObject):DecisionResultItem;
  4122. }
  4123. type RuleRepoExecutionPlugin_T = RuleRepoExecutionPlugin_S & RuleRepoExecutionPlugin$;
  4124. interface RuleRepoExecutionPlugin extends RuleRepoExecutionPlugin_T {
  4125. }
  4126. interface DecisionResultItem_S {
  4127. readonly STATUS_ALARMING:string;
  4128. readonly STATUS_ERROR:string;
  4129. readonly STATUS_GREEN:string;
  4130. readonly STATUS_MISS:string;
  4131. buildErr(showText:string):DecisionResultItem;
  4132. buildFail(showText:string):DecisionResultItem;
  4133. /**
  4134. * 构造失败返回
  4135. * @param showText 展示文本
  4136. * @param requestId 大模型会话id
  4137. * @return
  4138. */
  4139. buildFail(showText:string,requestId:string):DecisionResultItem;
  4140. buildMiss(showText:string):DecisionResultItem;
  4141. buildSuccess(showText:string):DecisionResultItem;
  4142. /**
  4143. * 构造成功返回
  4144. * @param showText 展示文本
  4145. * @param requestId 大模型会话id
  4146. * @return
  4147. */
  4148. buildSuccess(showText:string,requestId:string):DecisionResultItem;
  4149. }
  4150. interface DecisionResultItem_C extends DecisionResultItem_S {
  4151. new():DecisionResultItem;
  4152. }
  4153. interface DecisionResultItem$ {
  4154. getFileNames():string[];
  4155. getHoverContents():$.java.util.List;
  4156. getLlmParticipateStatus():string;
  4157. getRequestId():string;
  4158. getShowText():string;
  4159. getStatus():string;
  4160. setFileNames(fileNames:string[]):void;
  4161. setHoverContents(hoverContents:$.java.util.List):void;
  4162. setLlmParticipateStatus(llmParticipateStatus:string):void;
  4163. setRequestId(requestId:string):void;
  4164. setShowText(showText:string):void;
  4165. setStatus(status:string):void;
  4166. }
  4167. type DecisionResultItem_T = DecisionResultItem_S & DecisionResultItem$;
  4168. interface DecisionResultItem extends DecisionResultItem_T {
  4169. }
  4170. interface FGPTASDecisionParam_S {
  4171. }
  4172. interface FGPTASDecisionParam_C extends FGPTASDecisionParam_S {
  4173. new():FGPTASDecisionParam;
  4174. }
  4175. interface FGPTASDecisionParam$ {
  4176. getBillId():long;
  4177. getDecisionPk():string;
  4178. getDescript():string;
  4179. getEntityNumber():string;
  4180. getSchemaId():long;
  4181. isRefresh():boolean;
  4182. setBillId(billId:long):void;
  4183. setDecisionPk(decisionPk:string):void;
  4184. setDescript(descript:string):void;
  4185. setEntityNumber(entityNumber:string):void;
  4186. setRefresh(refresh:boolean):void;
  4187. setSchemaId(schemaId:long):void;
  4188. }
  4189. type FGPTASDecisionParam_T = FGPTASDecisionParam_S & FGPTASDecisionParam$;
  4190. interface FGPTASDecisionParam extends FGPTASDecisionParam_T {
  4191. }
  4192. interface RuleRepoParam_S {
  4193. }
  4194. type RuleRepoParam_ST = FGPTASDecisionParam_S & RuleRepoParam_S;
  4195. interface RuleRepoParam_C extends RuleRepoParam_ST {
  4196. new():RuleRepoParam;
  4197. }
  4198. interface RuleRepoParam$ {
  4199. getRuleRepoId():long;
  4200. setRuleRepoId(ruleRepoId:long):void;
  4201. }
  4202. type RuleRepoParam_T = FGPTASDecisionParam & RuleRepoParam_S & RuleRepoParam$;
  4203. interface RuleRepoParam extends RuleRepoParam_T {
  4204. }
  4205. }
  4206. namespace kd.sdk.fi.fr.extpoint{
  4207. interface IBankInfoF7Service_S {
  4208. }
  4209. interface IBankInfoF7Service$ {
  4210. setBankF7Filter(listShowParameter:$.kd.bos.list.ListShowParameter,extArgs:string):$.kd.bos.list.ListShowParameter;
  4211. }
  4212. type IBankInfoF7Service_T = IBankInfoF7Service_S & IBankInfoF7Service$;
  4213. interface IBankInfoF7Service extends IBankInfoF7Service_T {
  4214. }
  4215. }
  4216. namespace kd.sdk.fi.gl.extpoint.adjust{
  4217. interface IPeriodEndAllowDulpicate_S {
  4218. readonly BIZCODE:string;
  4219. }
  4220. interface IPeriodEndAllowDulpicate$ {
  4221. /**
  4222. * 是否允许不同调汇方案下同科目、同币别、同核算维度值重复
  4223. * @return {@code true} 允许重复, {@code false} 不允许重复
  4224. */
  4225. allowDulpicateSameDimensionValue():boolean;
  4226. }
  4227. type IPeriodEndAllowDulpicate_T = IPeriodEndAllowDulpicate_S & IPeriodEndAllowDulpicate$;
  4228. interface IPeriodEndAllowDulpicate extends IPeriodEndAllowDulpicate_T {
  4229. }
  4230. interface IPeriodEndBalanceProcess_S {
  4231. readonly BIZCODE:string;
  4232. }
  4233. interface IPeriodEndBalanceProcess$ {
  4234. /**
  4235. * 处理标准产品的期末调汇科目余额数据
  4236. * 该方法对标准产品期末调汇方案查询到的科目余额进行处理,支持DataSet的所有操作,不允许减少或重命名standardDataSet字段
  4237. *
  4238. * <p>使用示例:</p>
  4239. * <pre>
  4240. * public class PeriodEndBalanceProcessImpl implements IPeriodEndBalanceProcess {
  4241. * <code>@Override</code>
  4242. * public DataSet balanceProcess(DataSet standardDataSet) {
  4243. * // 取期末余额小于零的余额数据
  4244. * return standardDataSet.where("endfor < 0");
  4245. * }
  4246. * }
  4247. * </pre>
  4248. *
  4249. * @param id 期末调汇方案主键
  4250. * @param standardDataSet: 标准产品提供的科目余额数据集<br>
  4251. * standardDataSet字段说明:
  4252. * <table>
  4253. * <tr><th width="100px">字段</th><th>描述</th></tr>
  4254. * <tr><td>accountid</td><td>科目内码</td></tr>
  4255. * <tr><td>measureunit</td><td>计量单位</td></tr>
  4256. * <tr><td>acctnumber</td><td>科目编码</td></tr>
  4257. * <tr><td>acctdc</td><td>科目方向</td></tr>
  4258. * <tr><td>account</td><td>科目内码</td></tr>
  4259. * <tr><td>acctisqty</td><td>科目数量核算</td></tr>
  4260. * <tr><td>endfor</td><td>原币期末余额</td></tr>
  4261. * <tr><td>endlocal</td><td>本位币期末余额</td></tr>
  4262. * <tr><td>currency</td><td>币别</td></tr>
  4263. * <tr><td>assgrp</td><td>核算维度组合ID</td></tr>
  4264. * </table>
  4265. * @return kd.bos.algo.DataSet 二次过滤后的科目余额数据
  4266. * @since 7.0.1
  4267. */
  4268. balanceProcess(id:long,standardDataSet:$.kd.bos.algo.DataSet):$.kd.bos.algo.DataSet;
  4269. }
  4270. type IPeriodEndBalanceProcess_T = IPeriodEndBalanceProcess_S & IPeriodEndBalanceProcess$;
  4271. interface IPeriodEndBalanceProcess extends IPeriodEndBalanceProcess_T {
  4272. }
  4273. }
  4274. namespace kd.sdk.fi.gl.extpoint.amort{
  4275. interface IAmountAllocate_S {
  4276. readonly BIZCODE:string;
  4277. }
  4278. interface IAmountAllocate$ {
  4279. /**
  4280. * 根据待摊凭证分录自定义转入的凭证分录
  4281. * @param destEntries 转入凭证分录,可进行自定义修改
  4282. * @param targetEntries 待摊凭证分录,对其的修改将无效
  4283. * @param schemeDyn 凭证摊销方案对象,可用来判断参数,对其的修改将无效
  4284. *
  4285. * <pre><code>
  4286. * public class AmortExtTest implements IAmountAllocate {
  4287. *
  4288. * public void dealDestEntries(List>DynamicObject< destEntries, List<DynamicObject> targetEntries, DynamicObject schemeDyn) {
  4289. * destEntries.forEach(destRow->{
  4290. * for (DynamicObject targetRow: targetEntries){
  4291. * if (destRow.getLong("assgrp_id") == targetRow.getLong("assgrp_id")){
  4292. * destRow.set("debitori", targetRow.getBigDecimal("creditori"));
  4293. * destRow.set("debitlocal", targetRow.getBigDecimal("creditlocal"));
  4294. * }
  4295. * }
  4296. * });
  4297. * }
  4298. * }
  4299. * </code></pre>
  4300. */
  4301. dealDestEntries(destEntries:$.java.util.List,targetEntries:$.java.util.List,schemeDyn:$.kd.bos.dataentity.entity.DynamicObject):void;
  4302. }
  4303. type IAmountAllocate_T = IAmountAllocate_S & IAmountAllocate$;
  4304. interface IAmountAllocate extends IAmountAllocate_T {
  4305. }
  4306. }
  4307. namespace kd.sdk.fi.gl.extpoint.bal{
  4308. interface ICFBalCalculator_S {
  4309. readonly BIZ_CODE:string;
  4310. }
  4311. interface ICFBalCalculator$ {
  4312. /**
  4313. * 删除时事件触发,比如
  4314. * ID startperiod endperiod
  4315. * 1 120210020 120210040
  4316. * 2 120210040 120220050
  4317. * 3 120210050 99999999999 当删除ID为1的数据时,会把对应的余额数据的开始期间和结束期间作为参数传递
  4318. * @param orgId
  4319. * @param bookTypeId
  4320. * @param delDemension 被删除的维度
  4321. */
  4322. deleteBal(orgId:long,bookTypeId:long,delDemension:$.java.util.List):void;
  4323. /**
  4324. * 更新余额事件触发,此次发生余额变动的余额的modifytime》=updateTime
  4325. * @param orgId
  4326. * @param bookTypeId
  4327. * @param upadateTime
  4328. */
  4329. updateBal(orgId:long,bookTypeId:long,upadateTime:Date):void;
  4330. }
  4331. type ICFBalCalculator_T = ICFBalCalculator_S & ICFBalCalculator$;
  4332. interface ICFBalCalculator extends ICFBalCalculator_T {
  4333. }
  4334. interface IAcctBalCalculator_S {
  4335. readonly BIZ_CODE:string;
  4336. }
  4337. interface IAcctBalCalculator$ {
  4338. /**
  4339. * 删除时事件触发,比如
  4340. * ID startperiod endperiod
  4341. * 1 120210020 120210040
  4342. * 2 120210040 120220050
  4343. * 3 120210050 99999999999 当删除ID为1的数据时,会把对应的余额数据的开始期间和结束期间作为参数传递
  4344. * @param orgId
  4345. * @param bookTypeId
  4346. * @param delDemension 被删除的维度
  4347. */
  4348. deleteBal(orgId:long,bookTypeId:long,delDemension:$.java.util.List):void;
  4349. /**
  4350. * 更新余额事件触发,此次发生余额变动的余额的modifytime》=updateTime
  4351. * @param orgId
  4352. * @param bookTypeId
  4353. * @param upadateTime
  4354. */
  4355. updateBal(orgId:long,bookTypeId:long,upadateTime:Date):void;
  4356. }
  4357. type IAcctBalCalculator_T = IAcctBalCalculator_S & IAcctBalCalculator$;
  4358. interface IAcctBalCalculator extends IAcctBalCalculator_T {
  4359. }
  4360. }
  4361. namespace kd.sdk.fi.gl.extpoint.cashflow{
  4362. interface ICashFlowQueryExtPlugin_S {
  4363. readonly BIZ_CODE:string;
  4364. }
  4365. interface ICashFlowQueryExtPlugin$ {
  4366. /**
  4367. * 根据报表查询参数,构建额外的现金流量项目过滤条件,用于过滤现金流量表界面展示的现金流量项目数据
  4368. *
  4369. * @param reportQueryParam 报表查询参数,只读对象,任何对该对象的修改均不会生效
  4370. * @return 针对现金流量项目实体(gl_cashflowitem)的增强过滤条件
  4371. */
  4372. buildExtraCashFlowItemFilter(reportQueryParam:$.kd.bos.entity.report.ReportQueryParam):$.kd.bos.orm.query.QFilter;
  4373. }
  4374. type ICashFlowQueryExtPlugin_T = ICashFlowQueryExtPlugin_S & ICashFlowQueryExtPlugin$;
  4375. interface ICashFlowQueryExtPlugin extends ICashFlowQueryExtPlugin_T {
  4376. }
  4377. interface ICashFlowItemMapping_S {
  4378. readonly BIZ_CODE:string;
  4379. }
  4380. interface ICashFlowItemMapping$ {
  4381. /**
  4382. * 根据现金流量映射关系映射到的现金流量项目ID
  4383. *
  4384. * @param orgId 组织ID
  4385. * @param accountTableId 科目表ID
  4386. * @param presetCfItems 现金流量映射需要用到的凭证分录属性值
  4387. * @return Map<PresetCashFlowItem, Long> 现金流量映射关系映射到的现金流量项目ID
  4388. */
  4389. cfItemMappingRelation(orgId:long,accountTableId:long,presetCfItems:$.java.util.List):$.java.util.Map;
  4390. }
  4391. type ICashFlowItemMapping_T = ICashFlowItemMapping_S & ICashFlowItemMapping$;
  4392. interface ICashFlowItemMapping extends ICashFlowItemMapping_T {
  4393. }
  4394. }
  4395. namespace kd.sdk.fi.gl.extpoint.notice{
  4396. interface INoticeVoucherIdsProvider_S {
  4397. readonly BIZCODE:string;
  4398. }
  4399. interface INoticeVoucherIdsProvider$ {
  4400. /**
  4401. * 不需要过滤,需要返回参数参入的voucherIds。
  4402. * @param voucherIds 标准产品需要发送通知单的凭证ids
  4403. * @return 扩展插件过滤后需要发送通知单的凭证ids
  4404. * <p>扩展示例如下
  4405. * <pre><code>
  4406. * package kd.sdk.fi.gl.extpoint.notice;
  4407. * import java.util.Set;
  4408. * public class NoticeVoucherIdsProviderImpl implements INoticeVoucherIdsProvider{
  4409. * @Override
  4410. * public Set<Long> customFilterVchIds(Set<Long> voucherIds) {
  4411. * //自定义逻辑
  4412. * return voucherIds;
  4413. * }}
  4414. * </code></pre>
  4415. */
  4416. customFilterVchIds(voucherIds:$.java.util.Set):$.java.util.Set;
  4417. }
  4418. type INoticeVoucherIdsProvider_T = INoticeVoucherIdsProvider_S & INoticeVoucherIdsProvider$;
  4419. interface INoticeVoucherIdsProvider extends INoticeVoucherIdsProvider_T {
  4420. }
  4421. interface INoticeVoucherSourceType_S {
  4422. readonly AUTOTRANS_VALUE:string;
  4423. readonly BIZCODE:string;
  4424. readonly CARRY_OVER:string;
  4425. readonly FROMIMPORT:string;
  4426. readonly HANDCRAFT_VALUE:string;
  4427. readonly MECHANISM_VALUE:string;
  4428. readonly OFFSET:string;
  4429. readonly PERIOD_END_EXCHANGERATE_ADJUSTMENT_VALUE:string;
  4430. readonly PROFIT_AND_LOSS_VALUE:string;
  4431. readonly SCAN_VALUE:string;
  4432. readonly SCHEMA_VALUE:string;
  4433. readonly SYCBOOK:string;
  4434. readonly VOUCHERAMORT_VALUE:string;
  4435. readonly VOUCHER_REF:string;
  4436. }
  4437. interface INoticeVoucherSourceType$ {
  4438. /**
  4439. * 自定义校验接口
  4440. * @return 不发送通知单的凭证来源类型集合。目前标准产品结转损益类型的凭证不发通知,无需再控制。
  4441. * @throws
  4442. *
  4443. * <p>扩展示例如下
  4444. * <pre><code>
  4445. * package kd.sdk.fi.gl.extpoint.notice;
  4446. *
  4447. * import java.util.ArrayList;
  4448. * import java.util.List;
  4449. *
  4450. * public class NoticeVoucherSourceTypeCtl implements INoticeVoucherSourceType{
  4451. *
  4452. * @Override
  4453. * public List<String> noSendNoticeSourceType() {
  4454. * List<String> sourceTypes = new ArrayList<>(6);
  4455. * sourceTypes.add(PERIOD_END_EXCHANGERATE_ADJUSTMENT_VALUE);//来源类型为期末调汇的凭证不发通知单。
  4456. * return sourceTypes;
  4457. * }
  4458. * }
  4459. * </code></pre>
  4460. */
  4461. noSendNoticeSourceType():$.java.util.List;
  4462. }
  4463. type INoticeVoucherSourceType_T = INoticeVoucherSourceType_S & INoticeVoucherSourceType$;
  4464. interface INoticeVoucherSourceType extends INoticeVoucherSourceType_T {
  4465. }
  4466. interface INoticeCheck_S {
  4467. readonly BIZCODE:string;
  4468. }
  4469. interface INoticeCheck$ {
  4470. /**
  4471. * 自定义校验接口
  4472. * @param sendList 发送通知单列表,receiveList 接收通知单列表
  4473. * @return 是,检查通过,否,检查不通过
  4474. * @throws
  4475. *
  4476. * <p>扩展示例如下
  4477. * <pre><code>
  4478. * package hx.fi.gl.extpoint.notice;
  4479. * import kd.bos.report.ReportList;
  4480. * import kd.sdk.fi.gl.extpoint.notice.INoticeCheck;
  4481. *
  4482. * public class HxNoticeCHeck implements INoticeCheck {
  4483. * public boolean extCheck(ReportList sendList, ReportList receiveList) {
  4484. * if(sendList ==null||receiveList==null){
  4485. * return false;
  4486. * }
  4487. * ...
  4488. * return false;
  4489. * }
  4490. * }
  4491. * </code></pre>
  4492. */
  4493. extCheck(sendList:$.kd.bos.report.ReportList,receiveList:$.kd.bos.report.ReportList):boolean;
  4494. }
  4495. type INoticeCheck_T = INoticeCheck_S & INoticeCheck$;
  4496. interface INoticeCheck extends INoticeCheck_T {
  4497. }
  4498. }
  4499. namespace kd.sdk.fi.gl.extpoint.report{
  4500. interface IReportQuery_S {
  4501. readonly BIZCODE:string;
  4502. }
  4503. interface IReportQuery$ {
  4504. /**
  4505. * 往来对账单扩展
  4506. */
  4507. acCheck(standardDataSet:$.kd.bos.algo.DataSet,reportQueryParam:$.kd.bos.entity.report.ReportQueryParam,selectedObj:any):$.kd.bos.algo.DataSet;
  4508. /**
  4509. * 多组织辅助明细账扩展
  4510. */
  4511. auxSubLedger(standardDataSet:$.kd.bos.algo.DataSet,reportQueryParam:$.kd.bos.entity.report.ReportQueryParam,selectedObj:any):$.kd.bos.algo.DataSet;
  4512. /**
  4513. * 辅助明细账扩展
  4514. * @param standardDataSet 标准产品报表查询数据集合
  4515. * @param reportQueryParam 报表查询参数
  4516. * @param selectedObj 左表选中对象(如有)
  4517. * @return 扩展处理后数据集合
  4518. *
  4519. * <p>扩展示例如下
  4520. * <pre><code>
  4521. * import kd.bos.algo.DataSet;
  4522. * import kd.bos.entity.report.FilterInfo;
  4523. * import kd.bos.entity.report.ReportQueryParam;
  4524. *
  4525. * public class ExtReportQuery implements IReportQuery{
  4526. *
  4527. * @Override
  4528. * public DataSet subLedger(DataSet standardDataSet, ReportQueryParam reportQueryParam, Object selectedObj) {
  4529. * DataSet extDataSet = standardDataSet;
  4530. * FilterInfo filter = reportQueryParam.getFilter();
  4531. * if(filter.getBoolean("showqty")){
  4532. * extDataSet = extDataSet.addField("10L", "cusQty");
  4533. * }
  4534. * return extDataSet;
  4535. * }
  4536. *
  4537. * @Override
  4538. * public DataSet auxSubLedger(DataSet standardDataSet, ReportQueryParam reportQueryParam, Object selectedObj) {
  4539. * DataSet extDataSet = standardDataSet;
  4540. * return extDataSet;
  4541. * }
  4542. *
  4543. * @Override
  4544. * public DataSet acCheck(DataSet standardDataSet, ReportQueryParam reportQueryParam, Object selectedObj) {
  4545. * DataSet extDataSet = standardDataSet;
  4546. * return extDataSet;
  4547. * }
  4548. * }
  4549. * </code></pre>
  4550. */
  4551. subLedger(standardDataSet:$.kd.bos.algo.DataSet,reportQueryParam:$.kd.bos.entity.report.ReportQueryParam,selectedObj:any):$.kd.bos.algo.DataSet;
  4552. }
  4553. type IReportQuery_T = IReportQuery_S & IReportQuery$;
  4554. interface IReportQuery extends IReportQuery_T {
  4555. }
  4556. interface ReportParam_S {
  4557. }
  4558. interface ReportParam_C extends ReportParam_S {
  4559. new(reportType:ReportParam$ReportType,queryParam:$.kd.bos.entity.report.ReportQueryParam):ReportParam;
  4560. }
  4561. interface ReportParam$ {
  4562. /**
  4563. * @return 报表查询的查询参数
  4564. */
  4565. getQueryParam():$.kd.bos.entity.report.ReportQueryParam;
  4566. /**
  4567. * @return 报表类型,用于识别是那张报表
  4568. */
  4569. getReportType():ReportParam$ReportType;
  4570. }
  4571. type ReportParam_T = ReportParam_S & ReportParam$;
  4572. interface ReportParam extends ReportParam_T {
  4573. }
  4574. enum ReportParam$ReportType {
  4575. UNSUPPORTED,
  4576. SUB_LEDGER,
  4577. SUBSI_DIARY_LEDGER,
  4578. AUX_SUB_LEDGER,
  4579. GENERAL_LEDGER,
  4580. MULTI_COLUMN_ACCOUNT
  4581. }
  4582. interface IReportRowHideSpi_S {
  4583. readonly BIZCODE:string;
  4584. }
  4585. interface IReportRowHideSpi$ {
  4586. /**
  4587. * @param param 报表查询上下文
  4588. * @param rowType 行类型
  4589. * @return 返回Ture则隐藏该报表查询结果集中对应rowType的所有列
  4590. *
  4591. * <p>扩展示例如下
  4592. * <pre><code>
  4593. * package kd.sdk.fi.gl.extpoint.report;
  4594. *
  4595. * import kd.bos.algo.DataSet;
  4596. * import kd.bos.entity.report.FilterInfo;
  4597. *
  4598. * public class SummaryFilter implements IReportRowHideSpi {
  4599. *
  4600. * @Override
  4601. * public Boolean needHide(ReportParam param, RowType rowType) {
  4602. * switch (param.getReportType()) {
  4603. * case SUB_LEDGER:
  4604. * FilterInfo filter = param.getQueryParam().getFilter();
  4605. * if(!filter.getBoolean("showsummary")) {
  4606. * //明细分类账过滤本期合计
  4607. * return rowType == RowType.ROW_TYPE_BEGIN;
  4608. * }
  4609. * break;
  4610. * case AUX_SUB_LEDGER:
  4611. * case SUBSI_DIARY_LEDGER:
  4612. * break;
  4613. * }
  4614. * return false;
  4615. * }
  4616. * }
  4617. * </code></pre>
  4618. */
  4619. needHide(param:ReportParam,rowType:RowType):boolean;
  4620. }
  4621. type IReportRowHideSpi_T = IReportRowHideSpi_S & IReportRowHideSpi$;
  4622. interface IReportRowHideSpi extends IReportRowHideSpi_T {
  4623. }
  4624. enum RowType {
  4625. ROW_TYPE_BEGIN,
  4626. ROW_TYPE_LEAF,
  4627. ROW_TYPE_DAILY,
  4628. ROW_TYPE_PERIOD,
  4629. ROW_TYPE_YEAR,
  4630. ROW_TOTAL_SUMMARY
  4631. }
  4632. interface IAccBalReportQuery_S {
  4633. readonly BIZCODE:string;
  4634. }
  4635. interface IAccBalReportQuery$ {
  4636. /**
  4637. * 根据查询参数判断是否启用扩展插件
  4638. * @return 返回为真时科目余额表查询的其他方法均走本插件
  4639. */
  4640. enable?(queryParam:$.kd.bos.entity.report.ReportQueryParam):boolean;
  4641. /**
  4642. * 同kd.bos.entity.report.IReportListDataPlugin#export
  4643. * @param ignored 该参数为报表查询的选中节点,科目余额表暂时未使用
  4644. */
  4645. export?(queryParam:$.kd.bos.entity.report.ReportQueryParam,ignored:any):$.kd.bos.algo.DataSet;
  4646. /**
  4647. * 同kd.bos.entity.report.IReportListDataPlugin#exportWithSheet
  4648. * @param ignored 该参数为报表查询的选中节点,科目余额表暂时未使用
  4649. */
  4650. exportWithSheet?(queryParam:$.kd.bos.entity.report.ReportQueryParam,ignored:any):$.java.util.List;
  4651. /**
  4652. * 同kd.bos.entity.report.IReportListDataPlugin#getColumns
  4653. */
  4654. getColumns?(columns:$.java.util.List):$.java.util.List;
  4655. /**
  4656. * 在IAccBalReportQuery#getColumns结果的基础上对报表列
  4657. * 进行修改属性、排序等操作。
  4658. */
  4659. handleColumns?(columns:$.java.util.List):$.java.util.List;
  4660. /**
  4661. * 同kd.bos.entity.report.IReportListDataPlugin#query
  4662. * @param ignored 该参数为报表查询的选中节点,科目余额表暂时未使用
  4663. */
  4664. query?(queryParam:$.kd.bos.entity.report.ReportQueryParam,ignored:any):$.kd.bos.algo.DataSet;
  4665. /**
  4666. * 同kd.bos.entity.report.IReportListDataPlugin#queryBatchBy
  4667. */
  4668. queryBatchBy?(queryParam:$.kd.bos.entity.report.ReportQueryParam):$.kd.bos.algo.DataSet;
  4669. }
  4670. type IAccBalReportQuery_T = IAccBalReportQuery_S & IAccBalReportQuery$;
  4671. interface IAccBalReportQuery extends IAccBalReportQuery_T {
  4672. }
  4673. interface IReportColumnSetting_S {
  4674. readonly BIZCODE:string;
  4675. }
  4676. interface IReportColumnSetting$ {
  4677. /**
  4678. * 科目余额表
  4679. * @param columns 报表列集合
  4680. * @param reportQueryParam 界面查询参数
  4681. * @return
  4682. */
  4683. acctBal(columns:$.java.util.List,reportQueryParam:$.kd.bos.entity.report.ReportQueryParam):void;
  4684. /**
  4685. * 核算维度余额表
  4686. * @param columns 报表列集合
  4687. * @param reportQueryParam 界面查询参数
  4688. * @return
  4689. */
  4690. assistBal(columns:$.java.util.List,reportQueryParam:$.kd.bos.entity.report.ReportQueryParam):void;
  4691. /**
  4692. * 总分类账
  4693. * @param columns 报表列集合
  4694. * @param reportQueryParam 界面查询参数
  4695. * @return
  4696. */
  4697. generalLedger(columns:$.java.util.List,reportQueryParam:$.kd.bos.entity.report.ReportQueryParam):void;
  4698. }
  4699. type IReportColumnSetting_T = IReportColumnSetting_S & IReportColumnSetting$;
  4700. interface IReportColumnSetting extends IReportColumnSetting_T {
  4701. }
  4702. interface IAccBalOrgNumberOrder_S {
  4703. readonly BIZCODE:string;
  4704. }
  4705. interface IAccBalOrgNumberOrder$ {
  4706. /**
  4707. * 科目余额表扩展接口
  4708. * @param standardDataSet 标品报表集合
  4709. * @param filterInfo 报表查询过滤条件
  4710. * @param orgs 组织id集合
  4711. * @return
  4712. */
  4713. process(standardDataSet:$.kd.bos.algo.DataSet,filterInfo:$.kd.bos.entity.report.FilterInfo,orgs:$.java.util.Set):$.kd.bos.algo.DataSet;
  4714. }
  4715. type IAccBalOrgNumberOrder_T = IAccBalOrgNumberOrder_S & IAccBalOrgNumberOrder$;
  4716. interface IAccBalOrgNumberOrder extends IAccBalOrgNumberOrder_T {
  4717. }
  4718. }
  4719. namespace kd.sdk.fi.gl.extpoint.syncbookvch{
  4720. interface AccountAssgrpMappingParam_S {
  4721. }
  4722. interface AccountAssgrpMappingParam_C extends AccountAssgrpMappingParam_S {
  4723. new(srcBookId:long,tarBookId:long):AccountAssgrpMappingParam;
  4724. new(srcBookId:long,tarBookId:long,voucherIdList:$.java.util.List):AccountAssgrpMappingParam;
  4725. }
  4726. interface AccountAssgrpMappingParam$ {
  4727. getSrcBookId():long;
  4728. getTarBookId():long;
  4729. getVoucherIdList():$.java.util.List;
  4730. }
  4731. type AccountAssgrpMappingParam_T = AccountAssgrpMappingParam_S & AccountAssgrpMappingParam$;
  4732. interface AccountAssgrpMappingParam extends AccountAssgrpMappingParam_T {
  4733. }
  4734. interface AccountAssgrpMapping_S {
  4735. }
  4736. interface AccountAssgrpMapping_C extends AccountAssgrpMapping_S {
  4737. new():AccountAssgrpMapping;
  4738. new(srcAccNum:string,srcAssgrpId:long,tarAccNum:string,tarAssgrpMap:$.java.util.Map):AccountAssgrpMapping;
  4739. }
  4740. interface AccountAssgrpMapping$ {
  4741. getSrcAccNum():string;
  4742. getSrcAssgrpId():long;
  4743. getTarAccNum():string;
  4744. getTarAssgrpMap():$.java.util.Map;
  4745. setSrcAccNum(srcAccNum:string):void;
  4746. setSrcAssgrpId(srcAssgrpId:long):void;
  4747. setTarAccNum(tarAccNum:string):void;
  4748. setTarAssgrpMap(tarAssgrpMap:$.java.util.Map):void;
  4749. }
  4750. type AccountAssgrpMapping_T = AccountAssgrpMapping_S & AccountAssgrpMapping$;
  4751. interface AccountAssgrpMapping extends AccountAssgrpMapping_T {
  4752. }
  4753. interface IAccountAssgrpMapping_S {
  4754. readonly BIZ_CODE:string;
  4755. }
  4756. interface IAccountAssgrpMapping$ {
  4757. /**
  4758. * @param param 映射关系表依赖的参数
  4759. * @return 二开自定义的科目映射关系List
  4760. */
  4761. dealMapping(param:AccountAssgrpMappingParam):$.java.util.List;
  4762. }
  4763. type IAccountAssgrpMapping_T = IAccountAssgrpMapping_S & IAccountAssgrpMapping$;
  4764. interface IAccountAssgrpMapping extends IAccountAssgrpMapping_T {
  4765. }
  4766. }
  4767. namespace kd.sdk.fi.gl.extpoint.voucher{
  4768. interface IVoucherReversalDescPlugin_S {
  4769. }
  4770. interface IVoucherReversalDescPlugin$ {
  4771. /**
  4772. * 根据凭证头获取摘要的构建器
  4773. *
  4774. * @param voucher 被冲销凭证头
  4775. * @return 摘要的构建器,可以根据给定的分录返回摘要信息
  4776. */
  4777. getDescriptionBuilder(voucher:$.kd.bos.dataentity.entity.DynamicObject):IDescriptionBuilder;
  4778. }
  4779. type IVoucherReversalDescPlugin_T = IVoucherReversalDescPlugin_S & IVoucherReversalDescPlugin$;
  4780. interface IVoucherReversalDescPlugin extends IVoucherReversalDescPlugin_T {
  4781. }
  4782. interface IDescriptionBuilder_S {
  4783. }
  4784. interface IDescriptionBuilder$ {
  4785. /**
  4786. * 根据分录构建凭证摘要
  4787. *
  4788. * @param entry 被冲销分录行
  4789. * @return 摘要
  4790. */
  4791. build(entry:$.kd.bos.dataentity.entity.DynamicObject):string;
  4792. }
  4793. type IDescriptionBuilder_T = IDescriptionBuilder_S & IDescriptionBuilder$;
  4794. interface IDescriptionBuilder extends IDescriptionBuilder_T {
  4795. }
  4796. }
  4797. namespace kd.sdk.fi.ict.extpoint{
  4798. interface IAutoReconcValidate_S {
  4799. readonly BIZCODE:string;
  4800. }
  4801. interface IAutoReconcValidate$ {
  4802. /**
  4803. * @param bRecordIdList 本方交易对账数据
  4804. * @param dRecordIdList 对方交易数据
  4805. * @param infoMap
  4806. * org->本方组织id
  4807. * oppoorg->对方组织id
  4808. * period->期间id
  4809. * currency->币别id
  4810. * verifyscheme->对账方案id
  4811. * bRecordIdList,dRecordIdList为本对方方交易对账数据id,因为自动对账是单条去对账的,为了避免每次对账都去查询数据,
  4812. * 可以用infoMap里面的条件再加上单据状态去查询该对账方案的所有交易对账数据集合,然后再用bRecordIdList,dRecordIdList中的id去获取数据
  4813. * @return 无校验住数据返回null,有校验数据需要组装成String类型的提示语
  4814. */
  4815. noDiffManualAutoValidate?(bRecordIdList:$.java.util.List,dRecordIdList:$.java.util.List,infoMap:$.java.util.Map):string;
  4816. }
  4817. type IAutoReconcValidate_T = IAutoReconcValidate_S & IAutoReconcValidate$;
  4818. interface IAutoReconcValidate extends IAutoReconcValidate_T {
  4819. }
  4820. }
  4821. namespace kd.sdk.fi.qitc.extpoint.inspect{
  4822. interface ITaskRectiferService_S {
  4823. }
  4824. interface ITaskRectiferService$ {
  4825. /**
  4826. * 设置整改人
  4827. *
  4828. * @param taskId 质检任务Id
  4829. * @param billId 单据Id
  4830. * @param extMap 其它入参Map
  4831. * @return 扩展点返回结果 Example: map.put("rectifer", "整改人(Long类型)")
  4832. */
  4833. setReformPerson(taskId:long,billId:long,extMap:$.java.util.Map):$.java.util.Map;
  4834. }
  4835. type ITaskRectiferService_T = ITaskRectiferService_S & ITaskRectiferService$;
  4836. interface ITaskRectiferService extends ITaskRectiferService_T {
  4837. }
  4838. }
  4839. }
  4840. }
  4841. export {};