uo_ljfieb.sru 132 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375
  1. $PBExportHeader$uo_ljfieb.sru
  2. forward
  3. global type uo_ljfieb from nonvisualobject
  4. end type
  5. end forward
  6. global type uo_ljfieb from nonvisualobject
  7. end type
  8. global uo_ljfieb uo_ljfieb
  9. type variables
  10. Transaction commit_transaction //数据commit事务
  11. end variables
  12. forward prototypes
  13. public function integer add_mtrldef (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, s_mtrldef_array arg_s_mtrldef, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  14. public function integer send_buytask (long arg_scid, long arg_taskid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  15. public function integer feedback_rqdate (s_buytaskmx_feedback_ljfieb arg_s_mx[], long arg_cusid, string arg_relatedcode, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  16. public function integer send_outware (long arg_scid, long arg_outwareid, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  17. public function integer send_spt_price (long arg_billid, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  18. public function integer send_quote (long arg_scid, long arg_quoteid, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  19. public function integer send_mtrlware (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, s_mtrlware_ljfieb arg_s_mtrlware[], ref string arg_msg, boolean arg_ifcommit)
  20. public function integer send_mtrl_match (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, s_mtrl_match_ljfieb arg_s_match[], ref string arg_msg, boolean arg_ifcommit)
  21. public function integer send_buytask_jd (long arg_scid, long arg_taskid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  22. public function integer add_packet (string arg_serialnum, string arg_tablename, long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, integer arg_billtype, string arg_summary, string arg_postscript, string arg_remark, string arg_relatedserialnum, string arg_relatedcode, long arg_cusid, ref string arg_msg, boolean arg_ifcommit)
  23. public function integer update_buytask_jd (string arg_taskcode, ref string arg_msg, boolean arg_ifcommit)
  24. public function integer send_reissue (long arg_scid, long arg_reissueid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  25. public function integer send_reissue_spt (long arg_scid, long arg_reissueid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  26. public function integer uof_chk_receive (integer arg_chktype, ref integer arg_ifecomm, ref string arg_msg)
  27. public function integer uof_get_receiveinfo (integer arg_chktype, long arg_chkid, ref long arg_receivecuscommid, ref string arg_commsccode, ref string arg_msg)
  28. public function integer uof_get_selfinfo (long arg_scid, ref long arg_sendcuscommid, ref string arg_sendsccode, ref string arg_msg)
  29. public function string uof_get_serialnum ()
  30. public function integer send_mtrltype (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, long arg_mtrltypeid[], ref string arg_msg, boolean arg_ifcommit)
  31. public function integer send_post (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, s_post_ljfieb arg_s_post, ref string arg_msg, boolean arg_ifcommit)
  32. public function integer send_cust (long arg_scid, long arg_cusid_arr[], string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  33. public function integer send_cust_rep (long arg_scid, long arg_repid_arr[], string arg_summary, string arg_postscript, string arg_remark, boolean arg_setpwd, ref string arg_msg, boolean arg_ifcommit)
  34. public function integer send_funcpwreb (long arg_scid, long arg_cusid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  35. public function integer send_cust_rep_cm (long arg_scid, long arg_repid, string arg_ljemail_arr[], string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit)
  36. public function integer send_web_option (ref string arg_msg)
  37. public function integer send_web_scdef (ref string arg_msg)
  38. public function integer send_web_currency (ref string arg_msg)
  39. public function integer send_web_banktype (ref string arg_msg)
  40. public function integer feedback_buytask (string arg_sn, s_buytaskmx_feedback_ljfieb arg_s_mx[], string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit, string arg_spt_dscrp, string arg_spt_dscrp2)
  41. public function integer send_file (long arg_billtype, long arg_scid, long arg_relid[], long arg_relid_mx[], string ls_serialnum, ref string ls_tablename, ref string arg_msg)
  42. end prototypes
  43. public function integer add_mtrldef (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, s_mtrldef_array arg_s_mtrldef, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  44. Long ll_i,ll_j,ll_k
  45. Long ll_typeid[],ll_contfigtypeid[],ll_mtrlid_arr[],ll_mtrlid_arr_con[]
  46. Long ll_ittype,ll_itcon,ll_itpz,ll_itconpz
  47. Long ll_cid_ds
  48. String ls_code_ds,ls_ename_ds,ls_dscrp_ds
  49. Long ll_type_ds,ll_mtrlid_ds
  50. Decimal ld_planprice_ds,ld_price_ds
  51. Long ll_defaultpz_ds,ll_ifzj_ds
  52. Decimal ld_capacity_ds,ld_capaparm_ds,ld_net_weight_ds,ld_gross_weight_ds,ld_cubage_ds
  53. String ls_SerialNum
  54. Long ll_id
  55. String ls_name,ls_printid
  56. datastore ds_pztype,ds_pztype_mx
  57. datastore ds_configure_code,ds_configure_codemx,ds_configure_type
  58. datastore ds_mtrl_configure,ds_mtrl_configure2
  59. datastore ds_color,ds_color_pcode,ds_color_wood
  60. ds_pztype = Create datastore
  61. ds_pztype_mx = Create datastore
  62. ds_configure_code = Create datastore
  63. ds_configure_codemx = Create datastore
  64. ds_configure_type = Create datastore
  65. ds_mtrl_configure = Create datastore
  66. ds_mtrl_configure2 = Create datastore
  67. ds_color = Create datastore
  68. ds_color_pcode = Create datastore
  69. ds_color_wood = Create datastore
  70. ds_pztype.DataObject = 'ds_pztype_ljfieb'
  71. ds_pztype_mx.DataObject = 'ds_pztype_mx_ljfieb'
  72. ds_configure_code.DataObject = 'ds_configure_code_ljfieb'
  73. ds_configure_codemx.DataObject = 'ds_configure_codemx_ljfieb'
  74. ds_configure_type.DataObject = 'ds_configure_type_ljfieb'
  75. ds_mtrl_configure.DataObject = 'ds_mtrl_configure_ljfieb'
  76. ds_mtrl_configure2.DataObject = 'ds_mtrl_configure2_ljfieb'
  77. ds_color.DataObject = 'ds_color_ljfieb'
  78. ds_color_pcode.DataObject = 'ds_color_pcode_ljfieb'
  79. ds_color_wood.DataObject = 'ds_color_wood_ljfieb'
  80. ds_pztype.SetTransObject(sqlca)
  81. ds_pztype_mx.SetTransObject(sqlca)
  82. ds_configure_code.SetTransObject(sqlca)
  83. ds_configure_codemx.SetTransObject(sqlca)
  84. ds_configure_type.SetTransObject(sqlca)
  85. ds_mtrl_configure.SetTransObject(sqlca)
  86. ds_mtrl_configure2.SetTransObject(sqlca)
  87. ds_color.SetTransObject(sqlca)
  88. ds_color_pcode.SetTransObject(sqlca)
  89. ds_color_wood.SetTransObject(sqlca)
  90. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  91. From u_user Using sqlca;
  92. IF sqlca.SQLCode <> 0 THEN
  93. rslt = 0
  94. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  95. GOTO ext
  96. END IF
  97. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  98. IF ls_SerialNum = '' THEN
  99. rslt = 0
  100. arg_msg = '错误的发送序列号'
  101. GOTO ext
  102. END IF
  103. IF UpperBound(arg_s_mtrldef.mtrlid) = 0 THEN
  104. rslt = 0
  105. arg_msg = '没有可发送的内容'
  106. GOTO ext
  107. END IF
  108. FOR ll_i = 1 To UpperBound(arg_s_mtrldef.mtrlid)
  109. IF arg_s_mtrldef.statusflag[ll_i] = 1 THEN
  110. FOR ll_j = 1 To ll_ittype
  111. IF ll_typeid[ll_j] = arg_s_mtrldef.statustype[ll_i] THEN
  112. GOTO _end_type
  113. END IF
  114. NEXT
  115. ll_ittype++
  116. ll_typeid[ll_ittype] = arg_s_mtrldef.statustype[ll_i]
  117. _end_type:
  118. END IF
  119. IF arg_s_mtrldef.woodcodeflag[ll_i] = 1 THEN
  120. FOR ll_j = 1 To ll_ittype
  121. IF ll_typeid[ll_j] = arg_s_mtrldef.woodcodeflag[ll_i] THEN
  122. GOTO _end_type_2
  123. END IF
  124. NEXT
  125. ll_ittype++
  126. ll_typeid[ll_ittype] = arg_s_mtrldef.woodcodetype[ll_i]
  127. _end_type_2:
  128. END IF
  129. IF arg_s_mtrldef.pcodeflag[ll_i] = 1 THEN
  130. FOR ll_j = 1 To ll_ittype
  131. IF ll_typeid[ll_j] = arg_s_mtrldef.pcodeflag[ll_i] THEN
  132. GOTO _end_type_3
  133. END IF
  134. NEXT
  135. ll_ittype++
  136. ll_typeid[ll_ittype] = arg_s_mtrldef.pcodetype[ll_i]
  137. _end_type_3:
  138. END IF
  139. IF arg_s_mtrldef.statusflag[ll_i] = 4 THEN
  140. FOR ll_j = 1 To ll_itcon
  141. IF ll_contfigtypeid[ll_j] = arg_s_mtrldef.statustype[ll_i] THEN
  142. GOTO _end_contype
  143. END IF
  144. NEXT
  145. ll_itcon++
  146. ll_contfigtypeid[ll_itcon] = arg_s_mtrldef.statustype[ll_i]
  147. _end_contype:
  148. END IF
  149. IF arg_s_mtrldef.woodcodeflag[ll_i] = 4 THEN
  150. FOR ll_j = 1 To ll_itcon
  151. IF ll_contfigtypeid[ll_j] = arg_s_mtrldef.woodcodeflag[ll_i] THEN
  152. GOTO _end_contype_2
  153. END IF
  154. NEXT
  155. ll_itcon++
  156. ll_contfigtypeid[ll_itcon] = arg_s_mtrldef.woodcodetype[ll_i]
  157. _end_contype_2:
  158. END IF
  159. IF arg_s_mtrldef.pcodeflag[ll_i] = 4 THEN
  160. FOR ll_j = 1 To ll_itcon
  161. IF ll_contfigtypeid[ll_j] = arg_s_mtrldef.pcodeflag[ll_i] THEN
  162. GOTO _end_contype_3
  163. END IF
  164. NEXT
  165. ll_itcon++
  166. ll_contfigtypeid[ll_itcon] = arg_s_mtrldef.pcodetype[ll_i]
  167. _end_contype_3:
  168. END IF
  169. IF arg_s_mtrldef.statusflag[ll_i] = 2 THEN
  170. ll_itpz++
  171. ll_mtrlid_arr[ll_itpz] = arg_s_mtrldef.mtrlid[ll_i]
  172. END IF
  173. IF arg_s_mtrldef.configcodetype[ll_i] > 0 THEN
  174. ll_itconpz++
  175. ll_mtrlid_arr_con[ll_itconpz] = arg_s_mtrldef.mtrlid[ll_i]
  176. FOR ll_j = 1 To ll_itcon
  177. IF ll_contfigtypeid[ll_j] = arg_s_mtrldef.configcodetype[ll_i] THEN
  178. GOTO _end_configcodetype
  179. END IF
  180. NEXT
  181. ll_itcon++
  182. ll_contfigtypeid[ll_itcon] = arg_s_mtrldef.configcodetype[ll_i]
  183. _end_configcodetype:
  184. END IF
  185. INSERT INTO LJFIEB_mtrldef_code
  186. (mtrlid,
  187. mtrlcode,
  188. mtrlname,
  189. mtrltype,
  190. mtrlsectype,
  191. mtrlmode,
  192. Mtrlorigin,
  193. unit,
  194. dscrp,
  195. isuse,
  196. packqty,
  197. prdpackcode,
  198. net_weight,
  199. gross_weight,
  200. cubage,
  201. mtrlengname,
  202. zxmtrlmode,
  203. unit_scll,
  204. unit_buy,
  205. rate_buy,
  206. rate_scll,
  207. rate_sale,
  208. unit_sale,
  209. statusflag,
  210. statustype,
  211. woodcodeflag,
  212. woodcodetype,
  213. pcodeflag,
  214. pcodetype,
  215. ifcustom,
  216. buyunit,
  217. wfjgunit,
  218. scllunit,
  219. saleunit,
  220. buydec,
  221. wfjgdec,
  222. sclldec,
  223. saledec,
  224. status_check,
  225. woodcode_check,
  226. pcode_check,
  227. status_config,
  228. woodcode_config,
  229. pcode_config,
  230. configcodetype,
  231. configcode,
  232. configname,
  233. mtrlcolor,
  234. handtype,
  235. ifpack,
  236. ifpackpro,
  237. ifpackpz,
  238. ifpackpro2,
  239. ifpacktype,
  240. mtrlprp,
  241. serialnum)
  242. VALUES (:arg_s_mtrldef.mtrlid[ll_i],
  243. :arg_s_mtrldef.mtrlcode[ll_i],
  244. :arg_s_mtrldef.mtrlname[ll_i],
  245. :arg_s_mtrldef.mtrltype[ll_i],
  246. :arg_s_mtrldef.mtrlsectype[ll_i],
  247. :arg_s_mtrldef.mtrlmode[ll_i],
  248. :arg_s_mtrldef.Mtrlorigin[ll_i],
  249. :arg_s_mtrldef.unit[ll_i],
  250. :arg_s_mtrldef.dscrp[ll_i],
  251. :arg_s_mtrldef.isuse[ll_i],
  252. :arg_s_mtrldef.packqty[ll_i],
  253. :arg_s_mtrldef.prdpackcode[ll_i],
  254. :arg_s_mtrldef.net_weight[ll_i],
  255. :arg_s_mtrldef.gross_weight[ll_i],
  256. :arg_s_mtrldef.cubage[ll_i],
  257. :arg_s_mtrldef.mtrlengname[ll_i],
  258. :arg_s_mtrldef.zxmtrlmode[ll_i],
  259. :arg_s_mtrldef.unit_scll[ll_i],
  260. :arg_s_mtrldef.unit_buy[ll_i],
  261. :arg_s_mtrldef.rate_buy[ll_i],
  262. :arg_s_mtrldef.rate_scll[ll_i],
  263. :arg_s_mtrldef.rate_sale[ll_i],
  264. :arg_s_mtrldef.unit_sale[ll_i],
  265. :arg_s_mtrldef.statusflag[ll_i],
  266. :arg_s_mtrldef.statustype[ll_i],
  267. :arg_s_mtrldef.woodcodeflag[ll_i],
  268. :arg_s_mtrldef.woodcodetype[ll_i],
  269. :arg_s_mtrldef.pcodeflag[ll_i],
  270. :arg_s_mtrldef.pcodetype[ll_i],
  271. :arg_s_mtrldef.ifcustom[ll_i],
  272. :arg_s_mtrldef.buyunit[ll_i],
  273. :arg_s_mtrldef.wfjgunit[ll_i],
  274. :arg_s_mtrldef.scllunit[ll_i],
  275. :arg_s_mtrldef.saleunit[ll_i],
  276. :arg_s_mtrldef.buydec[ll_i],
  277. :arg_s_mtrldef.wfjgdec[ll_i],
  278. :arg_s_mtrldef.sclldec[ll_i],
  279. :arg_s_mtrldef.saledec[ll_i],
  280. :arg_s_mtrldef.status_check[ll_i],
  281. :arg_s_mtrldef.woodcode_check[ll_i],
  282. :arg_s_mtrldef.pcode_check[ll_i],
  283. :arg_s_mtrldef.status_config[ll_i],
  284. :arg_s_mtrldef.woodcode_config[ll_i],
  285. :arg_s_mtrldef.pcode_config[ll_i],
  286. :arg_s_mtrldef.configcodetype[ll_i],
  287. :arg_s_mtrldef.configcode[ll_i],
  288. :arg_s_mtrldef.configname[ll_i],
  289. :arg_s_mtrldef.mtrlcolor[ll_i],
  290. :arg_s_mtrldef.handtype[ll_i],
  291. :arg_s_mtrldef.ifpack[ll_i],
  292. :arg_s_mtrldef.ifpackpro[ll_i],
  293. :arg_s_mtrldef.ifpackpz[ll_i],
  294. :arg_s_mtrldef.ifpackpro2[ll_i],
  295. :arg_s_mtrldef.ifpacktype[ll_i],
  296. :arg_s_mtrldef.mtrlprp[ll_i],
  297. :ls_SerialNum) Using commit_transaction;
  298. IF commit_transaction.SQLCode <> 0 THEN
  299. rslt = 0
  300. arg_msg = '插入临时物料表失败,'+commit_transaction.SQLErrText
  301. GOTO ext
  302. END IF
  303. INSERT INTO LJFIEB_mtrlid_cusid(serialnum, mtrlid, cusid)
  304. VALUES(:ls_SerialNum, :arg_s_mtrldef.mtrlid[ll_i], -1)
  305. Using commit_transaction;
  306. IF commit_transaction.SQLCode <> 0 THEN
  307. rslt = 0
  308. arg_msg = '插入临时物料关联表失败,'+commit_transaction.SQLErrText
  309. GOTO ext
  310. END IF
  311. NEXT
  312. Long ll_typeid_ds
  313. String ls_typename_ds
  314. Long ll_pztype_ds
  315. String ls_pzdscrp_ds,ls_pztdscrp_ds
  316. IF ll_ittype > 0 THEN
  317. ds_pztype.Retrieve(ll_typeid)
  318. ds_pztype_mx.Retrieve(ll_typeid)
  319. FOR ll_i = 1 To ds_pztype.RowCount()
  320. ll_typeid_ds = ds_pztype.Object.typeid[ll_i]
  321. ls_typename_ds = ds_pztype.Object.typename[ll_i]
  322. INSERT INTO LJFIEB_pztype_def
  323. (typeid,
  324. typename,
  325. serialnum)
  326. VALUES (:ll_typeid_ds,
  327. :ls_typename_ds,
  328. :ls_SerialNum) Using commit_transaction;
  329. IF commit_transaction.SQLCode <> 0 THEN
  330. rslt = 0
  331. arg_msg = '插入临时配置类别表失败,'+commit_transaction.SQLErrText
  332. GOTO ext
  333. END IF
  334. NEXT
  335. FOR ll_i = 1 To ds_pztype_mx.RowCount()
  336. ll_typeid_ds = ds_pztype_mx.Object.typeid[ll_i]
  337. ll_pztype_ds = ds_pztype_mx.Object.pztype[ll_i]
  338. ls_pzdscrp_ds = ds_pztype_mx.Object.dscrp[ll_i]
  339. ls_pztdscrp_ds = ds_pztype_mx.Object.tdscrp[ll_i]
  340. INSERT INTO LJFIEB_pztype_mx
  341. (typeid,
  342. pztype,
  343. dscrp,
  344. tdscrp,
  345. serialnum)
  346. VALUES (:ll_typeid_ds,
  347. :ll_pztype_ds,
  348. :ls_pzdscrp_ds,
  349. :ls_pztdscrp_ds,
  350. :ls_SerialNum) Using commit_transaction;
  351. IF commit_transaction.SQLCode <> 0 THEN
  352. rslt = 0
  353. arg_msg = '插入临时配置类别明细表失败,'+commit_transaction.SQLErrText
  354. GOTO ext
  355. END IF
  356. NEXT
  357. END IF
  358. Long ll_contfigtypeid_ds,ll_contfigtype_ds
  359. String ls_contfigtypename_ds
  360. Long ll_pzid_ds
  361. String ls_pzcode_ds, ls_name_ds
  362. Long ll_inputtype_ds, ll_configtype_ds
  363. Long ll_printid_ds
  364. String ls_pzcodemx_ds,ls_namemx_ds
  365. IF ll_itcon > 0 THEN
  366. ds_configure_code.Retrieve(ll_contfigtypeid)
  367. ds_configure_codemx.Retrieve(ll_contfigtypeid)
  368. ds_configure_type.Retrieve(ll_contfigtypeid)
  369. FOR ll_i = 1 To ds_configure_type.RowCount()
  370. ll_contfigtypeid_ds = ds_configure_type.Object.contfigtypeid[ll_i]
  371. ll_contfigtype_ds = ds_configure_type.Object.contfigtype[ll_i]
  372. ls_contfigtypename_ds = ds_configure_type.Object.contfigtypename[ll_i]
  373. INSERT INTO LJFIEB_configure_type
  374. (contfigtypeid,
  375. contfigtypename,
  376. contfigtype,
  377. serialnum)
  378. VALUES (:ll_contfigtypeid_ds,
  379. :ls_contfigtypename_ds,
  380. :ll_contfigtype_ds,
  381. :ls_SerialNum) Using commit_transaction;
  382. IF commit_transaction.SQLCode <> 0 THEN
  383. rslt = 0
  384. arg_msg = '插入临时部件选配资料表失败,'+commit_transaction.SQLErrText
  385. GOTO ext
  386. END IF
  387. NEXT
  388. FOR ll_i = 1 To ds_configure_code.RowCount()
  389. ll_typeid_ds = ds_configure_code.Object.typeid[ll_i]
  390. ll_pzid_ds = ds_configure_code.Object.pzid[ll_i]
  391. ls_pzcode_ds = ds_configure_code.Object.pzcode[ll_i]
  392. ls_name_ds = ds_configure_code.Object.Name[ll_i]
  393. ll_inputtype_ds = ds_configure_code.Object.inputtype[ll_i]
  394. ll_configtype_ds = ds_configure_code.Object.configtype[ll_i]
  395. INSERT INTO LJFIEB_configure_code
  396. (typeid,
  397. pzid,
  398. pzcode,
  399. name,
  400. inputtype,
  401. configtype,
  402. serialnum)
  403. VALUES (:ll_typeid_ds,
  404. :ll_pzid_ds,
  405. :ls_pzcode_ds,
  406. :ls_name_ds,
  407. :ll_inputtype_ds,
  408. :ll_configtype_ds,
  409. :ls_SerialNum) Using commit_transaction;
  410. IF commit_transaction.SQLCode <> 0 THEN
  411. rslt = 0
  412. arg_msg = '插入临时部件选配资料明细表失败,'+commit_transaction.SQLErrText
  413. GOTO ext
  414. END IF
  415. NEXT
  416. FOR ll_i = 1 To ds_configure_codemx.RowCount()
  417. ll_pzid_ds = ds_configure_codemx.Object.u_configure_codemx_pzid[ll_i]
  418. ll_printid_ds = ds_configure_codemx.Object.u_configure_codemx_printid[ll_i]
  419. ls_pzcodemx_ds = ds_configure_codemx.Object.u_configure_codemx_pzcodemx[ll_i]
  420. ls_namemx_ds = ds_configure_codemx.Object.u_configure_codemx_namemx[ll_i]
  421. INSERT INTO LJFIEB_configure_codemx
  422. (pzid,
  423. printid,
  424. pzcodemx,
  425. namemx,
  426. serialnum)
  427. VALUES (:ll_pzid_ds,
  428. :ll_printid_ds,
  429. :ls_pzcodemx_ds,
  430. :ls_namemx_ds,
  431. :ls_SerialNum) Using commit_transaction;
  432. IF commit_transaction.SQLCode <> 0 THEN
  433. rslt = 0
  434. arg_msg = '插入临时部件选配资料明细表2失败,'+commit_transaction.SQLErrText
  435. GOTO ext
  436. END IF
  437. NEXT
  438. END IF
  439. IF ll_itpz > 0 THEN
  440. ds_mtrl_configure.Retrieve(ll_mtrlid_arr)
  441. FOR ll_i = 1 To ds_mtrl_configure.RowCount()
  442. ll_cid_ds = ds_mtrl_configure.Object.cid[ll_i]
  443. ll_mtrlid_ds = ds_mtrl_configure.Object.mtrlid[ll_i]
  444. ls_code_ds = ds_mtrl_configure.Object.code[ll_i]
  445. ls_name_ds = ds_mtrl_configure.Object.Name[ll_i]
  446. ls_ename_ds = ds_mtrl_configure.Object.ename[ll_i]
  447. ll_type_ds = ds_mtrl_configure.Object.Type[ll_i]
  448. ls_dscrp_ds = ds_mtrl_configure.Object.dscrp[ll_i]
  449. ld_planprice_ds = ds_mtrl_configure.Object.planprice[ll_i]
  450. ld_price_ds = ds_mtrl_configure.Object.price[ll_i]
  451. ll_defaultpz_ds = ds_mtrl_configure.Object.defaultpz[ll_i]
  452. ll_ifzj_ds = ds_mtrl_configure.Object.ifzj[ll_i]
  453. ld_capacity_ds = ds_mtrl_configure.Object.capacity[ll_i]
  454. ld_capaparm_ds = ds_mtrl_configure.Object.capaparm[ll_i]
  455. ld_net_weight_ds = ds_mtrl_configure.Object.net_weight[ll_i]
  456. ld_gross_weight_ds = ds_mtrl_configure.Object.gross_weight[ll_i]
  457. ld_cubage_ds = ds_mtrl_configure.Object.cubage[ll_i]
  458. INSERT INTO LJFIEB_mtrl_configure
  459. (cid,
  460. Mtrlid,
  461. code,
  462. name,
  463. ename,
  464. type,
  465. dscrp,
  466. Planprice,
  467. price,
  468. DefaultPZ,
  469. ifzj,
  470. capacity,
  471. capaparm,
  472. net_weight,
  473. gross_weight,
  474. cubage,
  475. serialnum)
  476. VALUES (:ll_cid_ds,
  477. :ll_Mtrlid_ds,
  478. :ls_code_ds,
  479. :ls_name_ds,
  480. :ls_ename_ds,
  481. :ll_type_ds,
  482. :ls_dscrp_ds,
  483. :ld_Planprice_ds,
  484. :ld_price_ds,
  485. :ll_DefaultPZ_ds,
  486. :ll_ifzj_ds,
  487. :ld_capacity_ds,
  488. :ld_capaparm_ds,
  489. :ld_net_weight_ds,
  490. :ld_gross_weight_ds,
  491. :ld_cubage_ds,
  492. :ls_SerialNum) Using commit_transaction;
  493. IF commit_transaction.SQLCode <> 0 THEN
  494. rslt = 0
  495. arg_msg = '插入临时产品组合配置表失败,'+commit_transaction.SQLErrText
  496. GOTO ext
  497. END IF
  498. NEXT
  499. END IF
  500. Long ll_scid_ds
  501. String ls_pzname_ds,ls_pznamemx_ds
  502. IF ll_itconpz > 0 THEN
  503. ds_mtrl_configure2.Retrieve(ll_mtrlid_arr_con)
  504. FOR ll_i = 1 To ds_mtrl_configure2.RowCount()
  505. ll_scid_ds = ds_mtrl_configure2.Object.scid[ll_i]
  506. ll_pzid_ds = ds_mtrl_configure2.Object.pzid[ll_i]
  507. ll_printid_ds = ds_mtrl_configure2.Object.printid[ll_i]
  508. ll_mtrlid_ds = ds_mtrl_configure2.Object.mtrlid[ll_i]
  509. ls_pzcode_ds = ds_mtrl_configure2.Object.pzcode[ll_i]
  510. ls_pzname_ds = ds_mtrl_configure2.Object.pzname[ll_i]
  511. ls_pzcodemx_ds = ds_mtrl_configure2.Object.pzcodemx[ll_i]
  512. ls_pznamemx_ds = ds_mtrl_configure2.Object.pznamemx[ll_i]
  513. INSERT INTO LJFIEB_mtrl_configure2
  514. (scid,
  515. pzid,
  516. printid,
  517. Mtrlid,
  518. pzcode,
  519. pzname,
  520. pzcodemx,
  521. pznamemx,
  522. serialnum)
  523. VALUES (:ll_scid_ds,
  524. :ll_pzid_ds,
  525. :ll_printid_ds,
  526. :ll_mtrlid_ds,
  527. :ls_pzcode_ds,
  528. :ls_pzname_ds,
  529. :ls_pzcodemx_ds,
  530. :ls_pznamemx_ds,
  531. :ls_SerialNum) Using commit_transaction;
  532. IF commit_transaction.SQLCode <> 0 THEN
  533. rslt = 0
  534. arg_msg = '插入临时产品配置表失败,'+commit_transaction.SQLErrText
  535. GOTO ext
  536. END IF
  537. NEXT
  538. END IF
  539. //color,color_pcode,color_wood
  540. ds_color.Retrieve()
  541. FOR ll_i = 1 To ds_color.RowCount()
  542. ll_id = ds_color.Object.colorid[ll_i]
  543. ls_name = ds_color.Object.colorname[ll_i]
  544. ls_printid = ds_color.Object.printid[ll_i]
  545. INSERT INTO LJFIEB_color
  546. (colorid,
  547. colorname,
  548. printid,
  549. serialnum)
  550. VALUES
  551. (:ll_id,
  552. :ls_name,
  553. :ls_printid,
  554. :ls_SerialNum)Using commit_transaction;
  555. IF commit_transaction.SQLCode <> 0 THEN
  556. rslt = 0
  557. arg_msg = '插入临时配置表(LJFIEB_color)失败,'+commit_transaction.SQLErrText
  558. GOTO ext
  559. END IF
  560. NEXT
  561. ds_color_wood.Retrieve()
  562. FOR ll_i = 1 To ds_color_wood.RowCount()
  563. ll_id = ds_color_wood.Object.woodcodeid[ll_i]
  564. ls_name = ds_color_wood.Object.woodcode[ll_i]
  565. ls_printid = ds_color_wood.Object.printid[ll_i]
  566. INSERT INTO LJFIEB_color_wood
  567. (woodcodeid,
  568. woodcode,
  569. printid,
  570. serialnum)
  571. VALUES
  572. (:ll_id,
  573. :ls_name,
  574. :ls_printid,
  575. :ls_SerialNum)Using commit_transaction;
  576. IF commit_transaction.SQLCode <> 0 THEN
  577. rslt = 0
  578. arg_msg = '插入临时配置表(LJFIEB_color_wood)失败,'+commit_transaction.SQLErrText
  579. GOTO ext
  580. END IF
  581. NEXT
  582. ds_color_pcode.Retrieve()
  583. FOR ll_i = 1 To ds_color_pcode.RowCount()
  584. ll_id = ds_color_pcode.Object.pcodeid[ll_i]
  585. ls_name = ds_color_pcode.Object.pcode[ll_i]
  586. ls_printid = ds_color_pcode.Object.printid[ll_i]
  587. INSERT INTO LJFIEB_color_pcode
  588. (pcodeid,
  589. pcode,
  590. printid,
  591. serialnum)
  592. VALUES
  593. (:ll_id,
  594. :ls_name,
  595. :ls_printid,
  596. :ls_SerialNum)Using commit_transaction;
  597. IF commit_transaction.SQLCode <> 0 THEN
  598. rslt = 0
  599. arg_msg = '插入临时配置表(LJFIEB_color_pcode)失败,'+commit_transaction.SQLErrText
  600. GOTO ext
  601. END IF
  602. NEXT
  603. String ls_tablename
  604. ls_tablename = 'LJFIEB_mtrldef_code,LJFIEB_mtrlid_cusid'
  605. IF ll_ittype > 0 THEN
  606. ls_tablename = ls_tablename + ',LJFIEB_pztype_def,LJFIEB_pztype_mx'
  607. END IF
  608. IF ll_itcon > 0 THEN
  609. ls_tablename = ls_tablename + ',LJFIEB_configure_type,LJFIEB_configure_code,LJFIEB_configure_codemx'
  610. END IF
  611. IF ll_itpz > 0 THEN
  612. ls_tablename = ls_tablename + ',LJFIEB_mtrl_configure'
  613. END IF
  614. IF ll_itconpz > 0 THEN
  615. ls_tablename = ls_tablename + ',LJFIEB_mtrl_configure2'
  616. END IF
  617. IF ds_color.RowCount() > 0 THEN
  618. ls_tablename = ls_tablename + ',LJFIEB_color'
  619. END IF
  620. IF ds_color_pcode.RowCount() > 0 THEN
  621. ls_tablename = ls_tablename + ',LJFIEB_color_pcode'
  622. END IF
  623. IF ds_color_wood.RowCount() > 0 THEN
  624. ls_tablename = ls_tablename + ',LJFIEB_color_wood'
  625. END IF
  626. IF add_packet(ls_SerialNum,ls_tablename,arg_sendcuscommid,arg_sendsccode,arg_receivecuscommid,arg_receivesccode,9,arg_summary,arg_postscript,arg_remark,'','',0,arg_msg,False) = 0 THEN
  627. rslt = 0
  628. GOTO ext
  629. END IF
  630. ext:
  631. IF rslt = 0 THEN
  632. ROLLBACK Using commit_transaction;
  633. ELSEIF rslt = 1 And arg_ifcommit THEN
  634. COMMIT Using commit_transaction;
  635. END IF
  636. Destroy ds_pztype
  637. Destroy ds_pztype_mx
  638. Destroy ds_configure_code
  639. Destroy ds_configure_codemx
  640. Destroy ds_configure_type
  641. Destroy ds_mtrl_configure
  642. Destroy ds_mtrl_configure2
  643. Destroy ds_color
  644. Destroy ds_color_pcode
  645. Destroy ds_color_wood
  646. RETURN rslt
  647. end function
  648. public function integer send_buytask (long arg_scid, long arg_taskid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);
  649. Int rslt = 1
  650. string ls_summary
  651. Long ll_SendCusCommID
  652. String ls_SendSCcode
  653. Int li_ifecomm
  654. String ls_commcode,ls_commsccode
  655. Long ll_ReceiveCusCommID
  656. String ls_SerialNum
  657. Long ll_i
  658. Long scid
  659. Long TaskID
  660. String TaskCode
  661. Long orderid
  662. Long Kind
  663. Long sptID
  664. DateTime requiredate
  665. DateTime accomplishdate
  666. String finishemp
  667. Long Status
  668. String Opemp
  669. String Modemp
  670. DateTime moddate
  671. String Assign_Emp
  672. String Permit_Emp
  673. DateTime Permit_date
  674. String Dscrp
  675. DateTime opdate
  676. String stopemp
  677. Long ctmint
  678. Long printnum
  679. String relcode
  680. Long banktypeid
  681. String train
  682. String reason
  683. Long billtype
  684. String firpermitemp
  685. DateTime firpermitdate
  686. Decimal billamt
  687. Long moneyid
  688. Decimal mrate
  689. Long MtrlID, iforder
  690. Decimal Qty, fprice, rebate, Price, AssignQty, consignedqty, uprice, rate,uqty, stopqty, rebuyqty
  691. Decimal fpqty, ffpqty, autostopqty, enprice, tax
  692. String status_mx, dscrp_mx, unit, stopemp_mx,sptmtrlname,relrqbuycode,delayreason,buybargaincode
  693. Long printid, storageid, orderid_mx, ctmint_mx, stopflag, rqmxprintid, requestbuyid, wrkGrpid, taskmxprintid
  694. Long buybargainid, buybargainprintid, admtrlid, relprintid
  695. DateTime Requiredate_mx,accomplishdate_mx,stopdate,sptbackdate
  696. String woodcode, pcode,stopreason
  697. String ls_banktypename,ls_moneyname
  698. String sptmtrlcode,sptmtrlmode
  699. String mtrlcode, mtrlmode, mtrlname
  700. Long arr_relid[], arr_relid_mx[]
  701. arr_relid[1] = arg_taskid
  702. String ls_m_table,ls_mx_table
  703. s_mtrldef_array s_post_mtrl
  704. datastore ds_buytaskmx
  705. ds_buytaskmx = Create datastore
  706. ds_buytaskmx.DataObject = 'ds_buytaskmx_send_ljfieb'
  707. ds_buytaskmx.SetTransObject(sqlca)
  708. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  709. From u_user Using sqlca;
  710. IF sqlca.SQLCode <> 0 THEN
  711. rslt = 0
  712. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  713. GOTO ext
  714. END IF
  715. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  716. IF ls_SerialNum = '' THEN
  717. rslt = 0
  718. arg_msg = '错误的发送序列号'
  719. GOTO ext
  720. END IF
  721. //查询本企业通信信息
  722. SELECT CusCommID
  723. INTO :ll_SendCusCommID
  724. FROM LJFIEB_CusComm
  725. Where CusType = 0 Using commit_transaction;
  726. IF commit_transaction.SQLCode <> 0 THEN
  727. rslt = 0
  728. arg_msg = '查询本企业通信信息失败,请检查设置,'+commit_transaction.SQLErrText
  729. GOTO ext
  730. END IF
  731. SELECT sccode
  732. INTO :ls_SendSCcode
  733. FROM u_scdef
  734. Where scid = :arg_scid Using sqlca;
  735. IF sqlca.SQLCode <> 0 THEN
  736. rslt = 0
  737. arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  738. GOTO ext
  739. END IF
  740. SELECT u_spt.ifecomm,
  741. u_spt.commcode,
  742. u_spt.commsccode
  743. INTO :li_ifecomm,
  744. :ls_commcode,
  745. :ls_commsccode
  746. FROM u_buyTask INNER JOIN
  747. u_spt ON u_buyTask.sptID = u_spt.sptid
  748. WHERE u_buyTask.scid = :arg_scid
  749. And u_buyTask.TaskID = :arg_taskid Using sqlca;
  750. IF sqlca.SQLCode <> 0 THEN
  751. rslt = 0
  752. arg_msg = '查询采购订单相关供应商通信信息失败,请检查设置,'+sqlca.SQLErrText
  753. GOTO ext
  754. END IF
  755. IF li_ifecomm = 0 THEN
  756. rslt = 0
  757. arg_msg = '供应商没有使用电子商务,不能发送单据'
  758. GOTO ext
  759. END IF
  760. SELECT CusCommID
  761. INTO :ll_ReceiveCusCommID
  762. FROM LJFIEB_CusComm
  763. Where cuscode = :ls_commcode Using commit_transaction;
  764. IF commit_transaction.SQLCode <> 0 THEN
  765. rslt = 0
  766. arg_msg = '查询供应商相关通信设置失败,'+commit_transaction.SQLErrText
  767. GOTO ext
  768. END IF
  769. IF ll_ReceiveCusCommID = 0 THEN
  770. rslt = 0
  771. arg_msg = '供应商相关的通信设置不正确,请检查'
  772. GOTO ext
  773. END IF
  774. SELECT scid,
  775. TaskID,
  776. TaskCode,
  777. orderid,
  778. kind,
  779. sptID,
  780. requiredate,
  781. accomplishdate,
  782. finishemp,
  783. Status,
  784. Opemp,
  785. Modemp,
  786. moddate,
  787. Assign_Emp,
  788. Permit_Emp,
  789. Permit_date,
  790. Dscrp,
  791. opdate,
  792. stopemp,
  793. ctmint,
  794. printnum,
  795. relcode,
  796. banktypeid,
  797. train,
  798. billtype,
  799. moneyid,
  800. mrate
  801. INTO :scid,
  802. :TaskID,
  803. :TaskCode,
  804. :orderid,
  805. :Kind,
  806. :sptID,
  807. :requiredate,
  808. :accomplishdate,
  809. :finishemp,
  810. :Status,
  811. :Opemp,
  812. :Modemp,
  813. :moddate,
  814. :Assign_Emp,
  815. :Permit_Emp,
  816. :Permit_date,
  817. :Dscrp,
  818. :opdate,
  819. :stopemp,
  820. :ctmint,
  821. :printnum,
  822. :relcode,
  823. :banktypeid,
  824. :train,
  825. :billtype,
  826. :moneyid,
  827. :mrate
  828. FROM u_buyTask
  829. WHERE scid = :arg_scid
  830. And TaskID = :arg_taskid Using sqlca;
  831. IF sqlca.SQLCode <> 0 THEN
  832. rslt = 0
  833. arg_msg = '查询采购订单信息失败,'+sqlca.SQLErrText
  834. GOTO ext
  835. END IF
  836. SELECT banktypename
  837. INTO :ls_banktypename
  838. FROM cw_banktype
  839. Where banktypeid = :banktypeid Using sqlca;
  840. IF sqlca.SQLCode <> 0 THEN
  841. rslt = 0
  842. arg_msg = '查询采购订单结算方式失败,'+sqlca.SQLErrText
  843. GOTO ext
  844. END IF
  845. SELECT name
  846. INTO :ls_moneyname
  847. FROM cw_currency
  848. Where moneyid = :moneyid Using sqlca;
  849. IF sqlca.SQLCode <> 0 THEN
  850. rslt = 0
  851. arg_msg = '查询采购订单币种失败,'+sqlca.SQLErrText
  852. GOTO ext
  853. END IF
  854. INSERT INTO LJFIEB_tempbuyTask
  855. (scid, TaskID, TaskCode, orderid, kind, sptID, requiredate, accomplishdate, finishemp,
  856. Status, Opemp, Modemp, moddate, Assign_Emp, Permit_Emp, Permit_date, Dscrp,
  857. opdate, stopemp, ctmint, printnum, relcode, banktypeid, train, reason, billtype,
  858. firpermitemp, firpermitdate, billamt, moneyid, mrate, serialnum,banktypename,moneyname)
  859. VALUES (:scid,
  860. :TaskID,
  861. :TaskCode,
  862. :orderid,
  863. :Kind,
  864. :sptID,
  865. :requiredate,
  866. :accomplishdate,
  867. :finishemp,
  868. :Status,
  869. :Opemp,
  870. :Modemp,
  871. :moddate,
  872. :Assign_Emp,
  873. :Permit_Emp,
  874. :Permit_date,
  875. :Dscrp,
  876. :opdate,
  877. :stopemp,
  878. :ctmint,
  879. :printnum,
  880. :relcode,
  881. :banktypeid,
  882. :train,
  883. :reason,
  884. :billtype,
  885. :firpermitemp,
  886. :firpermitdate,
  887. :billamt,
  888. :moneyid,
  889. :mrate,
  890. :ls_SerialNum,
  891. :ls_banktypename,
  892. :ls_moneyname) Using commit_transaction;
  893. IF commit_transaction.SQLCode <> 0 THEN
  894. rslt = 0
  895. arg_msg = '插入临时采购订单表失败,'+commit_transaction.SQLErrText
  896. GOTO ext
  897. END IF
  898. ds_buytaskmx.Retrieve(arg_scid,arg_taskid)
  899. FOR ll_i = 1 To ds_buytaskmx.RowCount()
  900. arr_relid_mx[ll_i] = printid
  901. MtrlID = ds_buytaskmx.Object.MtrlID[ll_i]
  902. iforder = ds_buytaskmx.Object.iforder[ll_i]
  903. Qty = ds_buytaskmx.Object.Qty[ll_i]
  904. fprice = ds_buytaskmx.Object.fprice[ll_i]
  905. rebate = ds_buytaskmx.Object.rebate[ll_i]
  906. Price = ds_buytaskmx.Object.Price[ll_i]
  907. AssignQty = ds_buytaskmx.Object.AssignQty[ll_i]
  908. status_mx = ds_buytaskmx.Object.Status[ll_i]
  909. Dscrp = ds_buytaskmx.Object.Dscrp[ll_i]
  910. printid = ds_buytaskmx.Object.printid[ll_i]
  911. consignedqty = ds_buytaskmx.Object.consignedqty[ll_i]
  912. requiredate = ds_buytaskmx.Object.requiredate[ll_i]
  913. storageid = ds_buytaskmx.Object.storageid[ll_i]
  914. orderid = ds_buytaskmx.Object.orderid[ll_i]
  915. ctmint = ds_buytaskmx.Object.ctmint[ll_i]
  916. sptmtrlname = ds_buytaskmx.Object.sptmtrlname[ll_i]
  917. uqty = ds_buytaskmx.Object.uqty[ll_i]
  918. uprice = ds_buytaskmx.Object.uprice[ll_i]
  919. unit = ds_buytaskmx.Object.unit[ll_i]
  920. rate = ds_buytaskmx.Object.rate[ll_i]
  921. stopflag = ds_buytaskmx.Object.stopflag[ll_i]
  922. stopemp = ds_buytaskmx.Object.stopemp[ll_i]
  923. stopdate = ds_buytaskmx.Object.stopdate[ll_i]
  924. stopreason = ds_buytaskmx.Object.stopreason[ll_i]
  925. woodcode = ds_buytaskmx.Object.woodcode[ll_i]
  926. pcode = ds_buytaskmx.Object.pcode[ll_i]
  927. rqmxprintid = ds_buytaskmx.Object.rqmxprintid[ll_i]
  928. requestbuyid = ds_buytaskmx.Object.requestbuyid[ll_i]
  929. relrqbuycode = ds_buytaskmx.Object.relrqbuycode[ll_i]
  930. wrkGrpid = ds_buytaskmx.Object.wrkGrpid[ll_i]
  931. taskmxprintid = ds_buytaskmx.Object.taskmxprintid[ll_i]
  932. sptbackdate = ds_buytaskmx.Object.sptbackdate[ll_i]
  933. delayreason = ds_buytaskmx.Object.delayreason[ll_i]
  934. stopqty = ds_buytaskmx.Object.stopqty[ll_i]
  935. rebuyqty = ds_buytaskmx.Object.rebuyqty[ll_i]
  936. buybargainid = ds_buytaskmx.Object.buybargainid[ll_i]
  937. buybargainprintid = ds_buytaskmx.Object.buybargainprintid[ll_i]
  938. buybargaincode = ds_buytaskmx.Object.buybargaincode[ll_i]
  939. accomplishdate = ds_buytaskmx.Object.accomplishdate[ll_i]
  940. admtrlid = ds_buytaskmx.Object.admtrlid[ll_i]
  941. relprintid = ds_buytaskmx.Object.relprintid[ll_i]
  942. fpqty = ds_buytaskmx.Object.fpqty[ll_i]
  943. ffpqty = ds_buytaskmx.Object.ffpqty[ll_i]
  944. autostopqty = ds_buytaskmx.Object.autostopqty[ll_i]
  945. enprice = ds_buytaskmx.Object.enprice[ll_i]
  946. tax = ds_buytaskmx.Object.tax[ll_i]
  947. SELECT mtrlcode, mtrlmode, mtrlname
  948. INTO :mtrlcode, :mtrlmode, :mtrlname
  949. FROM u_mtrldef
  950. Where MtrlID = :MtrlID Using sqlca;
  951. IF sqlca.SQLCode <> 0 THEN
  952. rslt = 0
  953. arg_msg = '第'+String(ll_i)+'行,查询物料信息失败,'+sqlca.SQLErrText
  954. GOTO ext
  955. END IF
  956. SELECT sptmtrlcode, sptmtrlmode
  957. INTO :sptmtrlcode, :sptmtrlmode
  958. FROM u_sptmtrlname
  959. WHERE sptid = :sptid
  960. And MtrlID = :MtrlID Using sqlca;
  961. IF sqlca.SQLCode <> 0 THEN
  962. sptmtrlcode = ''
  963. sptmtrlmode = ''
  964. IF f_ljfieb_fillmtrl(mtrlcode, 0, s_post_mtrl, arg_msg) <> 1 THEN
  965. rslt = 0
  966. arg_msg = '第'+String(ll_i)+'行,' + arg_msg
  967. GOTO ext
  968. END IF
  969. // rslt = 0
  970. // arg_msg = '第'+String(ll_i)+'行,查询供应商物料别名信息失败,'+sqlca.SQLErrText
  971. // GOTO ext
  972. END IF
  973. ls_summary = ls_summary + '['+sptmtrlcode+']' + sptmtrlname + '数量:'+string(uqty,'#,##0.##########')+unit+','
  974. INSERT INTO LJFIEB_tempbuyTaskMx
  975. (scid,
  976. TaskID,
  977. MtrlID,
  978. iforder,
  979. Qty,
  980. fprice,
  981. rebate,
  982. Price,
  983. AssignQty,
  984. status,
  985. dscrp,
  986. printid,
  987. consignedqty,
  988. Requiredate,
  989. storageid,
  990. orderid,
  991. ctmint,
  992. sptmtrlname,
  993. uqty,
  994. uprice,
  995. unit,
  996. rate,
  997. stopflag,
  998. stopemp,
  999. stopdate,
  1000. stopreason,
  1001. woodcode,
  1002. pcode,
  1003. rqmxprintid,
  1004. requestbuyid,
  1005. relrqbuycode,
  1006. wrkGrpid,
  1007. taskmxprintid,
  1008. sptbackdate,
  1009. delayreason,
  1010. stopqty,
  1011. rebuyqty,
  1012. buybargainid,
  1013. buybargainprintid,
  1014. buybargaincode,
  1015. accomplishdate,
  1016. admtrlid,
  1017. relprintid,
  1018. fpqty,
  1019. ffpqty,
  1020. autostopqty,
  1021. enprice,
  1022. tax,
  1023. serialnum,
  1024. sptmtrlcode,
  1025. sptmtrlmode,
  1026. mtrlcode,
  1027. mtrlmode,
  1028. mtrlname)
  1029. VALUES (:arg_scid,
  1030. :arg_taskid,
  1031. :MtrlID,
  1032. :iforder,
  1033. :Qty,
  1034. :fprice,
  1035. :rebate,
  1036. :Price,
  1037. :AssignQty,
  1038. :status_mx,
  1039. :dscrp,
  1040. :printid,
  1041. :consignedqty,
  1042. :Requiredate,
  1043. :storageid,
  1044. :orderid,
  1045. :ctmint,
  1046. :sptmtrlname,
  1047. :uqty,
  1048. :uprice,
  1049. :unit,
  1050. :rate,
  1051. :stopflag,
  1052. :stopemp,
  1053. :stopdate,
  1054. :stopreason,
  1055. :woodcode,
  1056. :pcode,
  1057. :rqmxprintid,
  1058. :requestbuyid,
  1059. :relrqbuycode,
  1060. :wrkGrpid,
  1061. :taskmxprintid,
  1062. :sptbackdate,
  1063. :delayreason,
  1064. :stopqty,
  1065. :rebuyqty,
  1066. :buybargainid,
  1067. :buybargainprintid,
  1068. :buybargaincode,
  1069. :accomplishdate,
  1070. :admtrlid,
  1071. :relprintid,
  1072. :fpqty,
  1073. :ffpqty,
  1074. :autostopqty,
  1075. :enprice,
  1076. :tax,
  1077. :ls_SerialNum,
  1078. :sptmtrlcode,
  1079. :sptmtrlmode,
  1080. :mtrlcode,
  1081. :mtrlmode,
  1082. :mtrlname) Using commit_transaction;
  1083. IF commit_transaction.SQLCode <> 0 THEN
  1084. rslt = 0
  1085. arg_msg = '插入临时采购订单明细表失败,'+commit_transaction.SQLErrText
  1086. GOTO ext
  1087. END IF
  1088. NEXT
  1089. String ls_tablename
  1090. ls_tablename = 'LJFIEB_tempbuyTask,LJFIEB_tempbuyTaskMx'
  1091. IF lena(ls_Summary) > 100 THEN ls_Summary = LeftA(ls_Summary,90) + '......'
  1092. arg_summary = ls_Summary
  1093. long arr_tmp[]
  1094. arr_tmp[1] = 0
  1095. // DONE: 发附件 采购订单附件billtype
  1096. IF send_file(401, arg_scid, arr_relid, arr_tmp, ls_SerialNum, Ref ls_m_table, Ref arg_msg) <> 1 THEN
  1097. rslt = 0
  1098. GOTO ext
  1099. END IF
  1100. IF ls_m_table <> '' THEN
  1101. ls_tablename += ',' + ls_m_table
  1102. END IF
  1103. // DONE: 发明细附件 采购订单明细附件billtype
  1104. IF send_file(9401, arg_scid, arr_relid, arr_relid_mx, ls_SerialNum, Ref ls_mx_table, Ref arg_msg) <> 1 THEN
  1105. rslt = 0
  1106. GOTO ext
  1107. END IF
  1108. IF ls_m_table = '' AND ls_mx_table <> '' THEN
  1109. ls_tablename += ',' + ls_mx_table
  1110. END IF
  1111. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,2,arg_summary,arg_postscript,arg_remark,'',TaskCode,0,arg_msg,False) = 0 THEN
  1112. rslt = 0
  1113. GOTO ext
  1114. END IF
  1115. IF UpperBound(s_post_mtrl.MtrlID) > 0 THEN
  1116. IF add_mtrldef(ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,s_post_mtrl,arg_summary,arg_postscript,arg_remark,arg_msg,False) <> 1 THEN
  1117. rslt = 0
  1118. GOTO ext
  1119. END IF
  1120. END IF
  1121. ext:
  1122. IF rslt = 0 THEN
  1123. ROLLBACK Using commit_transaction;
  1124. ELSEIF rslt = 1 And arg_ifcommit THEN
  1125. COMMIT Using commit_transaction;
  1126. END IF
  1127. Destroy ds_buytaskmx
  1128. RETURN rslt
  1129. end function
  1130. public function integer feedback_rqdate (s_buytaskmx_feedback_ljfieb arg_s_mx[], long arg_cusid, string arg_relatedcode, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  1131. Long ll_SendCusCommID, ll_ReceiveCusCommID
  1132. String ls_SendSCcode, ls_ReceiveSCcode
  1133. String ls_SerialNum,ls_RelatedCode,ls_commcode
  1134. Int li_ifecomm
  1135. Long ll_i
  1136. decimal ld_spt_uqty
  1137. string ls_unit
  1138. string ls_status,ls_woodcode,ls_pcode
  1139. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  1140. From u_user Using sqlca;
  1141. IF sqlca.SQLCode <> 0 THEN
  1142. rslt = 0
  1143. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  1144. GOTO ext
  1145. END IF
  1146. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  1147. IF ls_SerialNum = '' THEN
  1148. rslt = 0
  1149. arg_msg = '错误的发送序列号'
  1150. GOTO ext
  1151. END IF
  1152. SELECT CusCommID
  1153. INTO :ll_SendCusCommID
  1154. FROM LJFIEB_CusComm
  1155. WHERE CusType = 0
  1156. Using commit_transaction;
  1157. IF commit_transaction.SQLCode <> 0 THEN
  1158. rslt = 0
  1159. arg_msg = '查询本企业通信信息失败,'+commit_transaction.SQLErrText
  1160. GOTO ext
  1161. END IF
  1162. SELECT commcode,commsccode,ifecomm
  1163. INTO :ls_commcode ,:ls_ReceiveSCcode,:li_ifecomm
  1164. FROM u_cust
  1165. Where cusid = :arg_cusid Using sqlca;
  1166. IF sqlca.SQLCode <> 0 THEN
  1167. rslt = 0
  1168. arg_msg = '查询客户通信信息失败,'+sqlca.SQLErrText
  1169. GOTO ext
  1170. END IF
  1171. IF li_ifecomm = 0 THEN
  1172. rslt = 0
  1173. arg_msg = '客户没有使用电子商务功能,请检查设置'
  1174. GOTO ext
  1175. END IF
  1176. SELECT CusCommID
  1177. INTO :ll_ReceiveCusCommID
  1178. FROM LJFIEB_CusComm
  1179. WHERE CusCode = :ls_commcode
  1180. Using commit_transaction;
  1181. IF commit_transaction.SQLCode <> 0 THEN
  1182. rslt = 0
  1183. arg_msg = '查询客户通信信息失败,'+commit_transaction.SQLErrText
  1184. GOTO ext
  1185. END IF
  1186. Long ll_printid
  1187. DateTime ldt_spt_requiredate
  1188. String ls_sptmtrlcode,ls_sptmtrlname,ls_sptmtrlmode,ls_delayreason
  1189. FOR ll_i = 1 To UpperBound(arg_s_mx)
  1190. ll_printid = arg_s_mx[ll_i].printid
  1191. ldt_spt_requiredate = arg_s_mx[ll_i].spt_Requiredate
  1192. ls_sptmtrlcode = arg_s_mx[ll_i].sptmtrlcode
  1193. ls_sptmtrlname = arg_s_mx[ll_i].sptmtrlname
  1194. ls_sptmtrlmode = arg_s_mx[ll_i].sptmtrlmode
  1195. ls_delayreason = arg_s_mx[ll_i].delayreason
  1196. ld_spt_uqty = arg_s_mx[ll_i].spt_uqty
  1197. ls_unit = arg_s_mx[ll_i].unit
  1198. ls_status = arg_s_mx[ll_i].status
  1199. ls_woodcode = arg_s_mx[ll_i].woodcode
  1200. ls_pcode = arg_s_mx[ll_i].pcode
  1201. INSERT INTO LJFIEB_tempbuyTaskMx
  1202. (printid,
  1203. sptmtrlcode,
  1204. sptmtrlname,
  1205. sptmtrlmode,
  1206. spt_Requiredate,
  1207. delayreason,
  1208. serialnum,
  1209. spt_uqty,
  1210. unit,
  1211. status,
  1212. woodcode,
  1213. pcode)
  1214. VALUES (:ll_printid,
  1215. :ls_sptmtrlcode,
  1216. :ls_sptmtrlname,
  1217. :ls_sptmtrlmode,
  1218. :ldt_spt_requiredate,
  1219. :ls_delayreason,
  1220. :ls_SerialNum,
  1221. :ld_spt_uqty,
  1222. :ls_unit,
  1223. :ls_status,
  1224. :ls_woodcode,
  1225. :ls_pcode) Using commit_transaction;
  1226. IF commit_transaction.SQLCode <> 0 THEN
  1227. rslt = 0
  1228. arg_msg = '插入更新采购订单明细表失败,'+commit_transaction.SQLErrText
  1229. GOTO ext
  1230. END IF
  1231. NEXT
  1232. String ls_tablename
  1233. ls_tablename = 'LJFIEB_tempbuyTaskMx'
  1234. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_ReceiveSCcode,12,arg_summary,arg_postscript,arg_remark,'',arg_RelatedCode,0,arg_msg,False) = 0 THEN
  1235. rslt = 0
  1236. GOTO ext
  1237. END IF
  1238. ext:
  1239. IF rslt = 0 THEN
  1240. ROLLBACK Using commit_transaction;
  1241. ELSEIF rslt = 1 And arg_ifcommit THEN
  1242. COMMIT Using commit_transaction;
  1243. END IF
  1244. RETURN rslt
  1245. end function
  1246. public function integer send_outware (long arg_scid, long arg_outwareid, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  1247. String ls_summary
  1248. Long ll_SendCusCommID
  1249. String ls_SendSCcode
  1250. Int li_ifecomm
  1251. String ls_commcode,ls_commsccode
  1252. Long ll_ReceiveCusCommID
  1253. String ls_SerialNum
  1254. Long ll_i
  1255. datastore ds_outwaremx
  1256. ds_outwaremx = Create datastore
  1257. ds_outwaremx.DataObject = 'ds_outwaremx_send_ljfieb'
  1258. ds_outwaremx.SetTransObject(sqlca)
  1259. datastore ds_outwaremx_mx
  1260. ds_outwaremx_mx = Create datastore
  1261. ds_outwaremx_mx.DataObject = 'ds_outwaremx_mx_send_ljfieb'
  1262. ds_outwaremx_mx.SetTransObject(sqlca)
  1263. datastore ds_outwaremx_barcode
  1264. ds_outwaremx_barcode = Create datastore
  1265. ds_outwaremx_barcode.DataObject = 'ds_outwaremx_mx_barcode_send_ljfieb'
  1266. ds_outwaremx_barcode.SetTransObject(sqlca)
  1267. //u_outware 变量
  1268. String outwarecode
  1269. Int billtype
  1270. Long relid, StorageID
  1271. DateTime opdate, moddate, auditingdate, outdate
  1272. String opemp, Modemp, auditingrep,outrep
  1273. Int flag
  1274. String part, dscrp
  1275. Long cusid
  1276. String cusname
  1277. Long balcflag,balcdateint, thflag, secflag
  1278. DateTime secauditingdate
  1279. String secauditingrep
  1280. Long wagemth
  1281. Decimal otheramt
  1282. String relstr_1, relstr_2, relstr_3
  1283. Long relint_1, relint_2, relint_3
  1284. Long priceflag
  1285. DateTime pricedate
  1286. String priceemp,rel_address,rel_tele,rel_fax,rel_rep
  1287. Decimal mrate, damt
  1288. String upname
  1289. Long ifauto
  1290. DateTime viewdate
  1291. Long deptid
  1292. string ls_banktypename,ls_moneyname
  1293. //u_outwaremx 变量
  1294. Long mtrlwareid_mx,mtrlid_mx,storageid_mx
  1295. String plancode_mx,status_mx
  1296. Decimal qty_mx,fprice_mx,rebate_mx,price_mx,costamt_mx,planprice_mx
  1297. String mxdscrp_mx
  1298. Long Sptid_mx,Dxflag_mx,printid_mx,ifrel_mx,olmtrlid_mx
  1299. Decimal packqty_mx
  1300. String woodcode_mx,relcode_mx,pcode_mx
  1301. Decimal enprice_mx,newpriceamt_mx
  1302. Long outtype_mx
  1303. Decimal dftsaleprice_mx,cost_mx,planqty_mx
  1304. Long relprintid_mx
  1305. Decimal uqty_mx,rate_mx
  1306. String unit_mx
  1307. Decimal scidprice_mx
  1308. String outtypestr_mx
  1309. Decimal overqty_mx
  1310. String mtrlcuscode_mx,location_mx
  1311. String pricetype_mx,formula_mx
  1312. Decimal capacity_mx,saleqty_mx
  1313. Decimal net_weight_mx,gross_weight_mx,cubage_mx
  1314. String mxdscrp2_mx
  1315. Decimal taxrate_mx
  1316. String sptmtrlcode_mx,sptmtrlname_mx,sptmtrlmode_mx
  1317. string fiebrelcode_mx
  1318. // u_outwaremx_mx 变量
  1319. Long printid_mx_mx,mxprintid_mx_mx,mtrlwareid_mx_mx,storageid_mx_mx,mtrlid_mx_mx
  1320. String plancode_mx_mx,status_mx_mx,woodcode_mx_mx,pcode_mx_mx,mtrlcuscode_mx_mx,location_mx_mx
  1321. Long sptid_mx_mx,dxflag_mx_mx
  1322. Decimal planqty_mx_mx,qty_mx_mx
  1323. String mxdscrp_mx_mx
  1324. String sptmtrlcode_mx_mx,sptmtrlname_mx_mx,sptmtrlmode_mx_mx
  1325. //u_outwaremx_mx_barcode 变量
  1326. Long billtype_mx_b,printid_mx_b
  1327. String barcode_mx_b
  1328. Decimal qty_mx_b
  1329. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  1330. From u_user Using sqlca;
  1331. IF sqlca.SQLCode <> 0 THEN
  1332. rslt = 0
  1333. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  1334. GOTO ext
  1335. END IF
  1336. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  1337. IF ls_SerialNum = '' THEN
  1338. rslt = 0
  1339. arg_msg = '错误的发送序列号'
  1340. GOTO ext
  1341. END IF
  1342. //查询本企业通信信息
  1343. SELECT CusCommID
  1344. INTO :ll_SendCusCommID
  1345. FROM LJFIEB_CusComm
  1346. Where CusType = 0 Using commit_transaction;
  1347. IF commit_transaction.SQLCode <> 0 THEN
  1348. rslt = 0
  1349. arg_msg = '查询本企业通信信息失败,请检查设置,'+sqlca.SQLErrText
  1350. GOTO ext
  1351. END IF
  1352. SELECT sccode
  1353. INTO :ls_SendSCcode
  1354. FROM u_scdef
  1355. Where scid = :arg_scid Using sqlca;
  1356. IF sqlca.SQLCode <> 0 THEN
  1357. rslt = 0
  1358. arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  1359. GOTO ext
  1360. END IF
  1361. SELECT u_cust.ifecomm,
  1362. u_cust.commcode,
  1363. u_cust.commsccode
  1364. INTO :li_ifecomm,
  1365. :ls_commcode,
  1366. :ls_commsccode
  1367. FROM u_outware INNER JOIN
  1368. u_cust ON u_outware.cusid = u_cust.cusid
  1369. WHERE u_outware.scid = :arg_scid
  1370. And u_outware.outwareid = :arg_outwareid Using sqlca;
  1371. IF sqlca.SQLCode <> 0 THEN
  1372. rslt = 0
  1373. arg_msg = '查询销售发货单相关客户通信信息失败,请检查设置,'+sqlca.SQLErrText
  1374. GOTO ext
  1375. END IF
  1376. IF li_ifecomm = 0 THEN
  1377. rslt = 0
  1378. arg_msg = '客户没有使用电子商务,不能发送单据'
  1379. GOTO ext
  1380. END IF
  1381. If li_ifecomm = 2 Then
  1382. Select CusCommID
  1383. Into :ll_ReceiveCusCommID
  1384. From LJFIEB_CusComm
  1385. Where CusType = 5 Using commit_transaction;
  1386. If commit_transaction.SQLCode <> 0 Then
  1387. rslt = 0
  1388. arg_msg = '查询电子商务网站通讯连接失败,请先确认已设置电子商务网站通讯连接,'+commit_transaction.SQLErrText
  1389. Goto ext
  1390. End If
  1391. If ll_ReceiveCusCommID = 0 Then
  1392. rslt = 0
  1393. arg_msg = '请先确认已设置电子商务网站通讯连接!'
  1394. Goto ext
  1395. End If
  1396. ElseIf li_ifecomm = 1 Then
  1397. Select CusCommID
  1398. Into :ll_ReceiveCusCommID
  1399. From LJFIEB_CusComm
  1400. Where cuscode = :ls_commcode Using commit_transaction;
  1401. If commit_transaction.SQLCode <> 0 Then
  1402. rslt = 0
  1403. arg_msg = '查询客户相关通信设置失败,'+commit_transaction.SQLErrText
  1404. Goto ext
  1405. End If
  1406. If ll_ReceiveCusCommID = 0 Then
  1407. rslt = 0
  1408. arg_msg = '客户相关的通信设置不正确,请检查'
  1409. Goto ext
  1410. End If
  1411. End If
  1412. damt = 0
  1413. upname = ''
  1414. ifauto = 0
  1415. viewdate = datetime(today())
  1416. deptid = 0
  1417. SELECT outwarecode,
  1418. billtype,
  1419. relid,
  1420. StorageID,
  1421. opdate,
  1422. opemp,
  1423. Modemp,
  1424. moddate,
  1425. auditingdate,
  1426. auditingrep,
  1427. outdate,
  1428. outrep,
  1429. part,
  1430. dscrp,
  1431. cusid,
  1432. cusname,
  1433. balcflag,
  1434. balcdateint,
  1435. thflag,
  1436. wagemth,
  1437. otheramt,
  1438. relstr_1,
  1439. relstr_2,
  1440. relstr_3,
  1441. relint_1,
  1442. relint_2,
  1443. relint_3,
  1444. priceflag,
  1445. pricedate,
  1446. priceemp,
  1447. rel_address,
  1448. rel_tele,
  1449. rel_fax,
  1450. rel_rep,
  1451. mrate
  1452. INTO :outwarecode,
  1453. :billtype,
  1454. :relid,
  1455. :StorageID,
  1456. :opdate,
  1457. :opemp,
  1458. :Modemp,
  1459. :moddate,
  1460. :auditingdate,
  1461. :auditingrep,
  1462. :outdate,
  1463. :outrep,
  1464. :part,
  1465. :dscrp,
  1466. :cusid,
  1467. :cusname,
  1468. :balcflag,
  1469. :balcdateint,
  1470. :thflag,
  1471. :wagemth,
  1472. :otheramt,
  1473. :relstr_1,
  1474. :relstr_2,
  1475. :relstr_3,
  1476. :relint_1,
  1477. :relint_2,
  1478. :relint_3,
  1479. :priceflag,
  1480. :pricedate,
  1481. :priceemp,
  1482. :rel_address,
  1483. :rel_tele,
  1484. :rel_fax,
  1485. :rel_rep,
  1486. :mrate
  1487. FROM u_outware
  1488. WHERE scid = :arg_scid
  1489. And outwareid = :arg_outwareid Using sqlca;
  1490. IF sqlca.SQLCode <> 0 THEN
  1491. rslt = 0
  1492. arg_msg = '查询销售发货单信息失败,'+sqlca.SQLErrText
  1493. GOTO ext
  1494. END IF
  1495. SELECT banktypename
  1496. INTO :ls_banktypename
  1497. FROM cw_banktype
  1498. Where banktypeid = :relint_1 Using sqlca;
  1499. IF sqlca.SQLCode <> 0 THEN
  1500. rslt = 0
  1501. arg_msg = '查询采购订单结算方式失败,'+sqlca.SQLErrText
  1502. GOTO ext
  1503. END IF
  1504. SELECT name
  1505. INTO :ls_moneyname
  1506. FROM cw_currency
  1507. Where moneyid = :relint_2 Using sqlca;
  1508. IF sqlca.SQLCode <> 0 THEN
  1509. rslt = 0
  1510. arg_msg = '查询采购订单币种失败,'+sqlca.SQLErrText
  1511. GOTO ext
  1512. END IF
  1513. //insert into
  1514. INSERT INTO LJFIEB_tempoutware
  1515. (scid, outwareid,outwarecode, billtype, relid, StorageID, opdate, opemp, Modemp, moddate,
  1516. auditingdate, auditingrep, outdate, outrep, part, dscrp, cusid, cusname, balcflag,
  1517. balcdateint, thflag, wagemth, otheramt,
  1518. relstr_1, relstr_2, relstr_3, relint_1, relint_2, relint_3, priceflag, pricedate, priceemp,
  1519. rel_address, rel_tele, rel_fax, rel_rep, mrate, damt, upname, ifauto, viewdate, deptid,serialnum,
  1520. banktypename,moneyname)
  1521. VALUES (:arg_scid,
  1522. :arg_outwareid,
  1523. :outwarecode,
  1524. :billtype,
  1525. :relid,
  1526. :StorageID,
  1527. :opdate,
  1528. :opemp,
  1529. :Modemp,
  1530. :moddate,
  1531. :auditingdate,
  1532. :auditingrep,
  1533. :outdate,
  1534. :outrep,
  1535. :part,
  1536. :dscrp,
  1537. :cusid,
  1538. :cusname,
  1539. :balcflag,
  1540. :balcdateint,
  1541. :thflag,
  1542. :wagemth,
  1543. :otheramt,
  1544. :relstr_1,
  1545. :relstr_2,
  1546. :relstr_3,
  1547. :relint_1,
  1548. :relint_2,
  1549. :relint_3,
  1550. :priceflag,
  1551. :pricedate,
  1552. :priceemp,
  1553. :rel_address,
  1554. :rel_tele,
  1555. :rel_fax,
  1556. :rel_rep,
  1557. :mrate,
  1558. :damt,
  1559. :upname,
  1560. :ifauto,
  1561. :viewdate,
  1562. :deptid,
  1563. :ls_SerialNum,
  1564. :ls_banktypename,
  1565. :ls_moneyname) Using commit_transaction;
  1566. IF commit_transaction.SQLCode <> 0 THEN
  1567. rslt = 0
  1568. arg_msg = '插入销售发货单临时表失败,'+commit_transaction.SQLErrText
  1569. GOTO ext
  1570. END IF
  1571. ds_outwaremx.Retrieve(arg_scid,arg_outwareid)
  1572. FOR ll_i = 1 To ds_outwaremx.RowCount()
  1573. mtrlwareid_mx = ds_outwaremx.Object.mtrlwareid[ll_i]
  1574. mtrlid_mx = ds_outwaremx.Object.mtrlid[ll_i]
  1575. storageid_mx = ds_outwaremx.Object.StorageID[ll_i]
  1576. plancode_mx = ds_outwaremx.Object.plancode[ll_i]
  1577. status_mx = ds_outwaremx.Object.status[ll_i]
  1578. qty_mx = ds_outwaremx.Object.qty[ll_i]
  1579. fprice_mx = ds_outwaremx.Object.fprice[ll_i]
  1580. rebate_mx = ds_outwaremx.Object.rebate[ll_i]
  1581. price_mx = ds_outwaremx.Object.price[ll_i]
  1582. costamt_mx = ds_outwaremx.Object.costamt[ll_i]
  1583. planprice_mx = ds_outwaremx.Object.planprice[ll_i]
  1584. mxdscrp_mx = ds_outwaremx.Object.mxdscrp[ll_i]
  1585. Sptid_mx = ds_outwaremx.Object.sptid[ll_i]
  1586. Dxflag_mx = ds_outwaremx.Object.dxflag[ll_i]
  1587. printid_mx = ds_outwaremx.Object.printid[ll_i]
  1588. ifrel_mx = ds_outwaremx.Object.ifrel[ll_i]
  1589. olmtrlid_mx = ds_outwaremx.Object.olmtrlid[ll_i]
  1590. packqty_mx = ds_outwaremx.Object.packqty[ll_i]
  1591. woodcode_mx = ds_outwaremx.Object.woodcode[ll_i]
  1592. relcode_mx = ds_outwaremx.Object.relcode[ll_i]
  1593. pcode_mx = ds_outwaremx.Object.pcode[ll_i]
  1594. enprice_mx = ds_outwaremx.Object.enprice[ll_i]
  1595. newpriceamt_mx = ds_outwaremx.Object.newpriceamt[ll_i]
  1596. outtype_mx = ds_outwaremx.Object.outtype[ll_i]
  1597. dftsaleprice_mx = ds_outwaremx.Object.dftsaleprice[ll_i]
  1598. cost_mx = ds_outwaremx.Object.cost[ll_i]
  1599. planqty_mx = qty_mx //
  1600. relprintid_mx = ds_outwaremx.Object.relprintid[ll_i]
  1601. uqty_mx = ds_outwaremx.Object.uqty[ll_i]
  1602. rate_mx = ds_outwaremx.Object.rate[ll_i]
  1603. unit_mx = ds_outwaremx.Object.unit[ll_i]
  1604. scidprice_mx = 0 //
  1605. outtypestr_mx = '' //
  1606. overqty_mx = 0 //
  1607. mtrlcuscode_mx = ds_outwaremx.Object.mtrlcuscode[ll_i]
  1608. location_mx = '' //
  1609. pricetype_mx = '' //
  1610. formula_mx = ds_outwaremx.Object.formula[ll_i]
  1611. capacity_mx = 0 //
  1612. saleqty_mx =0 //
  1613. net_weight_mx = ds_outwaremx.Object.net_weight[ll_i]
  1614. gross_weight_mx = 0 //ds_outwaremx.Object.gross_weight[ll_i]
  1615. cubage_mx = 0 //ds_outwaremx.Object.cubage[ll_i]
  1616. mxdscrp2_mx = ds_outwaremx.Object.mxdscrp2[ll_i]
  1617. taxrate_mx = 0 //ds_outwaremx.Object.taxrate[ll_i]
  1618. sptmtrlcode_mx = ds_outwaremx.Object.u_mtrldef_mtrlcode[ll_i]
  1619. sptmtrlname_mx = ds_outwaremx.Object.u_mtrldef_mtrlname[ll_i]
  1620. sptmtrlmode_mx = ds_outwaremx.Object.u_mtrldef_mtrlmode[ll_i]
  1621. fiebrelcode_mx = '' //ds_outwaremx.Object.u_saletask_fiebrelcode[ll_i]
  1622. ls_summary = ls_summary + '['+sptmtrlcode_mx+']' + sptmtrlname_mx + '数量:'+string(qty_mx,'#,##0.##########')+unit_mx+','
  1623. INSERT INTO LJFIEB_tempoutwaremx
  1624. (scid,
  1625. outwareid,
  1626. mtrlwareid,
  1627. mtrlid,
  1628. storageid,
  1629. plancode,
  1630. status,
  1631. qty,
  1632. fprice,
  1633. rebate,
  1634. price,
  1635. costamt,
  1636. planprice,
  1637. mxdscrp,
  1638. Sptid,
  1639. Dxflag,
  1640. printid,
  1641. ifrel,
  1642. olmtrlid,
  1643. packqty,
  1644. woodcode,
  1645. relcode,
  1646. pcode,
  1647. enprice,
  1648. newpriceamt,
  1649. outtype,
  1650. dftsaleprice,
  1651. cost,
  1652. planqty,
  1653. relprintid,
  1654. uqty,
  1655. rate,
  1656. unit,
  1657. scidprice,
  1658. outtypestr,
  1659. overqty,
  1660. mtrlcuscode,
  1661. location,
  1662. pricetype,
  1663. formula,
  1664. capacity,
  1665. saleqty,
  1666. net_weight,
  1667. gross_weight,
  1668. cubage,
  1669. mxdscrp2,
  1670. taxrate,
  1671. serialnum,
  1672. sptmtrlcode,
  1673. sptmtrlname,
  1674. sptmtrlmode,
  1675. fiebrelcode)
  1676. VALUES (:arg_scid,
  1677. :arg_outwareid,
  1678. :mtrlwareid_mx,
  1679. :mtrlid_mx,
  1680. :storageid_mx,
  1681. :plancode_mx,
  1682. :status_mx,
  1683. :qty_mx,
  1684. :fprice_mx,
  1685. :rebate_mx,
  1686. :price_mx,
  1687. :costamt_mx,
  1688. :planprice_mx,
  1689. :mxdscrp_mx,
  1690. :Sptid_mx,
  1691. :Dxflag_mx,
  1692. :printid_mx,
  1693. :ifrel_mx,
  1694. :olmtrlid_mx,
  1695. :packqty_mx,
  1696. :woodcode_mx,
  1697. :relcode_mx,
  1698. :pcode_mx,
  1699. :enprice_mx,
  1700. :newpriceamt_mx,
  1701. :outtype_mx,
  1702. :dftsaleprice_mx,
  1703. :cost_mx,
  1704. :planqty_mx,
  1705. :relprintid_mx,
  1706. :uqty_mx,
  1707. :rate_mx,
  1708. :unit_mx,
  1709. :scidprice_mx,
  1710. :outtypestr_mx,
  1711. :overqty_mx,
  1712. :mtrlcuscode_mx,
  1713. :location_mx,
  1714. :pricetype_mx,
  1715. :formula_mx,
  1716. :capacity_mx,
  1717. :saleqty_mx,
  1718. :net_weight_mx,
  1719. :gross_weight_mx,
  1720. :cubage_mx,
  1721. :mxdscrp2_mx,
  1722. :taxrate_mx,
  1723. :ls_serialnum,
  1724. :sptmtrlcode_mx,
  1725. :sptmtrlname_mx,
  1726. :sptmtrlmode_mx,
  1727. :fiebrelcode_mx) Using commit_transaction;
  1728. IF commit_transaction.SQLCode <> 0 THEN
  1729. rslt = 0
  1730. arg_msg = '插入销售发货单临时明细表失败,'+commit_transaction.SQLErrText
  1731. GOTO ext
  1732. END IF
  1733. NEXT
  1734. //ds_outwaremx_mx.Retrieve(arg_scid,arg_outwareid)
  1735. //
  1736. //FOR ll_i = 1 To ds_outwaremx_mx.RowCount()
  1737. // printid_mx_mx = ds_outwaremx_mx.Object.printid[ll_i]
  1738. // mxprintid_mx_mx = ds_outwaremx_mx.Object.mxprintid[ll_i]
  1739. // mtrlwareid_mx_mx = ds_outwaremx_mx.Object.mtrlwareid[ll_i]
  1740. // storageid_mx_mx = ds_outwaremx_mx.Object.StorageID[ll_i]
  1741. // mtrlid_mx_mx = ds_outwaremx_mx.Object.mtrlid[ll_i]
  1742. // plancode_mx_mx = ds_outwaremx_mx.Object.plancode[ll_i]
  1743. // status_mx_mx = ds_outwaremx_mx.Object.status[ll_i]
  1744. // woodcode_mx_mx = ds_outwaremx_mx.Object.woodcode[ll_i]
  1745. // pcode_mx_mx = ds_outwaremx_mx.Object.pcode[ll_i]
  1746. // mtrlcuscode_mx_mx = ds_outwaremx_mx.Object.mtrlcuscode[ll_i]
  1747. // location_mx_mx = ds_outwaremx_mx.Object.Location[ll_i]
  1748. // sptid_mx_mx = ds_outwaremx_mx.Object.sptid[ll_i]
  1749. // dxflag_mx_mx = ds_outwaremx_mx.Object.dxflag[ll_i]
  1750. // planqty_mx_mx = ds_outwaremx_mx.Object.planqty[ll_i]
  1751. // qty_mx_mx = ds_outwaremx_mx.Object.qty[ll_i]
  1752. // mxdscrp_mx_mx = ds_outwaremx_mx.Object.mxdscrp[ll_i]
  1753. // sptmtrlcode_mx_mx = ds_outwaremx_mx.Object.u_mtrldef_mtrlcode[ll_i]
  1754. // sptmtrlname_mx_mx = ds_outwaremx_mx.Object.u_mtrldef_mtrlname[ll_i]
  1755. // sptmtrlmode_mx_mx = ds_outwaremx_mx.Object.u_mtrldef_mtrlmode[ll_i]
  1756. //
  1757. // INSERT INTO LJFIEB_tempoutwaremx_mx
  1758. // (scid,
  1759. // outwareid,
  1760. // printid,
  1761. // mxprintid,
  1762. // mtrlwareid,
  1763. // storageid,
  1764. // mtrlid,
  1765. // plancode,
  1766. // status,
  1767. // woodcode,
  1768. // pcode,
  1769. // mtrlcuscode,
  1770. // location,
  1771. // sptid,
  1772. // dxflag,
  1773. // planqty,
  1774. // qty,
  1775. // mxdscrp,
  1776. // serialnum,
  1777. // sptmtrlcode,
  1778. // sptmtrlname,
  1779. // sptmtrlmode)
  1780. // VALUES (:arg_scid,
  1781. // :arg_outwareid,
  1782. // :printid_mx_mx,
  1783. // :mxprintid_mx_mx,
  1784. // :mtrlwareid_mx_mx,
  1785. // :storageid_mx_mx,
  1786. // :mtrlid_mx_mx,
  1787. // :plancode_mx_mx,
  1788. // :status_mx_mx,
  1789. // :woodcode_mx_mx,
  1790. // :pcode_mx_mx,
  1791. // :mtrlcuscode_mx_mx,
  1792. // :location_mx_mx,
  1793. // :sptid_mx_mx,
  1794. // :dxflag_mx_mx,
  1795. // :planqty_mx_mx,
  1796. // :qty_mx_mx,
  1797. // :mxdscrp_mx_mx,
  1798. // :ls_serialnum,
  1799. // :sptmtrlcode_mx_mx,
  1800. // :sptmtrlname_mx_mx,
  1801. // :sptmtrlmode_mx_mx) Using commit_transaction;
  1802. // IF commit_transaction.SQLCode <> 0 THEN
  1803. // rslt = 0
  1804. // arg_msg = '插入销售发货单包件临时明细表失败,'+commit_transaction.SQLErrText
  1805. // GOTO ext
  1806. // END IF
  1807. //NEXT
  1808. //
  1809. //ds_outwaremx_barcode.Retrieve(arg_scid,arg_outwareid)
  1810. //
  1811. //FOR ll_i = 1 To ds_outwaremx_barcode.RowCount()
  1812. // billtype_mx_b = ds_outwaremx_barcode.Object.billtype[ll_i]
  1813. // barcode_mx_b = ds_outwaremx_barcode.Object.barcode[ll_i]
  1814. // qty_mx_b = ds_outwaremx_barcode.Object.qty[ll_i]
  1815. // printid_mx_b = ds_outwaremx_barcode.Object.printid[ll_i]
  1816. //
  1817. // INSERT INTO LJFIEB_tempoutwaremx_mx_barcode
  1818. // (scid,
  1819. // outwareid,
  1820. // billtype,
  1821. // barcode,
  1822. // qty,
  1823. // serialnum,
  1824. // printid)
  1825. // VALUES (:arg_scid,
  1826. // :arg_outwareid,
  1827. // :billtype_mx_b,
  1828. // :barcode_mx_b,
  1829. // :qty_mx_b,
  1830. // :ls_serialnum,
  1831. // :printid_mx_b) Using commit_transaction;
  1832. // IF commit_transaction.SQLCode <> 0 THEN
  1833. // rslt = 0
  1834. // arg_msg = '插入销售发货单临时条码表失败,'+commit_transaction.SQLErrText
  1835. // GOTO ext
  1836. // END IF
  1837. //NEXT
  1838. String ls_tablename
  1839. ls_tablename = 'LJFIEB_tempoutware,LJFIEB_tempoutwaremx'
  1840. IF ds_outwaremx_mx.RowCount() > 0 THEN
  1841. ls_tablename = ls_tablename + ',LJFIEB_tempoutwaremx_mx'
  1842. END IF
  1843. IF ds_outwaremx_barcode.RowCount() > 0 THEN
  1844. ls_tablename = ls_tablename + ',LJFIEB_tempoutwaremx_mx_barcode'
  1845. END IF
  1846. IF lena(ls_summary) > 100 THEN ls_summary = LeftA(ls_summary,90) + '......'
  1847. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,4,ls_summary,arg_postscript,arg_remark,'',outwarecode,cusid,arg_msg,False) = 0 THEN
  1848. rslt = 0
  1849. GOTO ext
  1850. END IF
  1851. ext:
  1852. IF rslt = 0 THEN
  1853. ROLLBACK Using commit_transaction;
  1854. ELSEIF rslt = 1 And arg_ifcommit THEN
  1855. COMMIT Using commit_transaction;
  1856. END IF
  1857. Destroy ds_outwaremx;
  1858. Destroy ds_outwaremx_mx;
  1859. Destroy ds_outwaremx_barcode;
  1860. RETURN rslt
  1861. end function
  1862. public function integer send_spt_price (long arg_billid, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);
  1863. Int rslt = 1
  1864. String ls_summary
  1865. Long ll_SendCusCommID
  1866. String ls_SendSCcode
  1867. Int li_ifecomm
  1868. String ls_commcode,ls_commsccode
  1869. Long ll_ReceiveCusCommID
  1870. String ls_SerialNum
  1871. Long ll_i
  1872. datastore ds_pricemx
  1873. ds_pricemx = Create datastore
  1874. ds_pricemx.DataObject = 'ds_spt_price_changemx_send_ljfieb'
  1875. ds_pricemx.SetTransObject(sqlca)
  1876. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  1877. From u_user Using sqlca;
  1878. IF sqlca.SQLCode <> 0 THEN
  1879. rslt = 0
  1880. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  1881. GOTO ext
  1882. END IF
  1883. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  1884. IF ls_SerialNum = '' THEN
  1885. rslt = 0
  1886. arg_msg = '错误的发送序列号'
  1887. GOTO ext
  1888. END IF
  1889. //查询本企业通信信息
  1890. SELECT CusCommID
  1891. INTO :ll_SendCusCommID
  1892. FROM LJFIEB_CusComm
  1893. Where CusType = 0 Using commit_transaction;
  1894. IF commit_transaction.SQLCode <> 0 THEN
  1895. rslt = 0
  1896. arg_msg = '查询本企业通信信息失败,请检查设置,'+sqlca.SQLErrText
  1897. GOTO ext
  1898. END IF
  1899. SELECT sccode
  1900. INTO :ls_SendSCcode
  1901. FROM u_scdef
  1902. Where scid = 0 Using sqlca;
  1903. IF sqlca.SQLCode <> 0 THEN
  1904. rslt = 0
  1905. arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  1906. GOTO ext
  1907. END IF
  1908. SELECT u_spt.ifecomm,
  1909. u_spt.commcode,
  1910. u_spt.commsccode
  1911. INTO :li_ifecomm,
  1912. :ls_commcode,
  1913. :ls_commsccode
  1914. FROM u_spt_price_change INNER JOIN
  1915. u_spt ON u_spt_price_change.sptID = u_spt.sptid
  1916. Where u_spt_price_change.billid = :arg_billid Using sqlca;
  1917. IF sqlca.SQLCode <> 0 THEN
  1918. rslt = 0
  1919. arg_msg = '查询供应商询价单相关供应商通信信息失败,请检查设置,'+sqlca.SQLErrText
  1920. GOTO ext
  1921. END IF
  1922. IF li_ifecomm = 0 THEN
  1923. rslt = 0
  1924. arg_msg = '供应商没有使用电子商务,不能发送单据'
  1925. GOTO ext
  1926. END IF
  1927. SELECT CusCommID
  1928. INTO :ll_ReceiveCusCommID
  1929. FROM LJFIEB_CusComm
  1930. Where cuscode = :ls_commcode Using commit_transaction;
  1931. IF commit_transaction.SQLCode <> 0 THEN
  1932. rslt = 0
  1933. arg_msg = '查询供应商相关通信设置失败,'+commit_transaction.SQLErrText
  1934. GOTO ext
  1935. END IF
  1936. IF ll_ReceiveCusCommID = 0 THEN
  1937. rslt = 0
  1938. arg_msg = '供应商相关的通信设置不正确,请检查'
  1939. GOTO ext
  1940. END IF
  1941. Long billid,moneyid,sptID
  1942. String billcode ,inrep, dscrp, opemp,ls_moneyname
  1943. DateTime billdate,opdate
  1944. moneyid = 11 //默认本位币
  1945. SELECT billid, billcode, billdate, inrep, dscrp, opemp, opdate,sptid
  1946. INTO :billid, :billcode, :billdate,:inrep, :dscrp, :opemp, :opdate,:sptid
  1947. FROM u_spt_price_change
  1948. Where billid = :arg_billid Using sqlca;
  1949. IF sqlca.SQLCode <> 0 THEN
  1950. rslt = 0
  1951. arg_msg = '查询供应商询价单信息失败,'+sqlca.SQLErrText
  1952. GOTO ext
  1953. END IF
  1954. SELECT name
  1955. INTO :ls_moneyname
  1956. FROM cw_currency
  1957. Where moneyid = :moneyid Using sqlca;
  1958. IF sqlca.SQLCode <> 0 THEN
  1959. rslt = 0
  1960. arg_msg = '查询供应商询价单币种失败,'+sqlca.SQLErrText
  1961. GOTO ext
  1962. END IF
  1963. INSERT INTO LJFIEB_tempspt_price_change
  1964. (serialnum,
  1965. billid,
  1966. billcode,
  1967. billdate,
  1968. inrep,
  1969. dscrp,
  1970. opemp,
  1971. opdate,
  1972. moneyname)
  1973. VALUES (:ls_SerialNum,
  1974. :billid,
  1975. :billcode,
  1976. :billdate,
  1977. :inrep,
  1978. :dscrp,
  1979. :opemp,
  1980. :opdate,
  1981. :ls_moneyname) Using commit_transaction;
  1982. IF commit_transaction.SQLCode <> 0 THEN
  1983. rslt = 0
  1984. arg_msg = '插入临时供应商询价单表失败,'+commit_transaction.SQLErrText
  1985. GOTO ext
  1986. END IF
  1987. ds_pricemx.Retrieve(arg_billid)
  1988. Long billid_mx, printid_mx, mtrlid_mx
  1989. String unit_mx, dscrp_mx
  1990. Decimal price_mx, qty_mx, qty1_mx
  1991. String sptmtrlcode, sptmtrlname,sptmtrlmode
  1992. string status_mx,woodcode_mx,pcode_mx,jgdscrp_mx
  1993. FOR ll_i = 1 To ds_pricemx.RowCount()
  1994. printid_mx = ds_pricemx.Object.printid[ll_i]
  1995. mtrlid_mx = ds_pricemx.Object.mtrlid[ll_i]
  1996. unit_mx = ds_pricemx.Object.unit[ll_i]
  1997. price_mx = ds_pricemx.Object.price[ll_i]
  1998. qty_mx = ds_pricemx.Object.qty[ll_i]
  1999. qty1_mx = ds_pricemx.Object.qty1[ll_i]
  2000. dscrp_mx = ds_pricemx.Object.dscrp[ll_i]
  2001. status_mx = ds_pricemx.Object.status[ll_i]
  2002. woodcode_mx = ds_pricemx.Object.woodcode[ll_i]
  2003. pcode_mx = ds_pricemx.Object.pcode[ll_i]
  2004. jgdscrp_mx = ds_pricemx.Object.jgdscrp[ll_i]
  2005. SELECT sptmtrlcode, sptmtrlname,sptmtrlmode
  2006. INTO :sptmtrlcode, :sptmtrlname,:sptmtrlmode
  2007. FROM u_sptmtrlname
  2008. WHERE sptid = :sptid
  2009. And mtrlid = :mtrlid_mx Using sqlca;
  2010. IF sqlca.SQLCode <> 0 THEN
  2011. rslt = 0
  2012. arg_msg = '第'+String(ll_i)+'行,查询供应商物料别名信息失败,'+sqlca.SQLErrText
  2013. GOTO ext
  2014. END IF
  2015. ls_summary = ls_summary + '['+sptmtrlcode+']' + sptmtrlname + ','
  2016. INSERT INTO LJFIEB_tempspt_price_changemx
  2017. (serialnum,
  2018. billid,
  2019. printid,
  2020. mtrlid,
  2021. sptmtrlcode,
  2022. sptmtrlname,
  2023. sptmtrlmode,
  2024. unit,
  2025. price,
  2026. qty,
  2027. qty1,
  2028. dscrp,
  2029. status,
  2030. woodcode,
  2031. pcode,
  2032. jgdscrp)
  2033. VALUES (:ls_serialnum,
  2034. :billid,
  2035. :printid_mx,
  2036. :mtrlid_mx,
  2037. :sptmtrlcode,
  2038. :sptmtrlname,
  2039. :sptmtrlmode,
  2040. :unit_mx,
  2041. :price_mx,
  2042. :qty_mx,
  2043. :qty1_mx,
  2044. :dscrp_mx,
  2045. :status_mx,
  2046. :woodcode_mx,
  2047. :pcode_mx,
  2048. :jgdscrp_mx)Using commit_transaction;
  2049. IF commit_transaction.SQLCode <> 0 THEN
  2050. rslt = 0
  2051. arg_msg = '插入临时供应商询价单明细表失败,'+commit_transaction.SQLErrText
  2052. GOTO ext
  2053. END IF
  2054. NEXT
  2055. String ls_tablename
  2056. ls_tablename = 'LJFIEB_tempspt_price_change,LJFIEB_tempspt_price_changemx'
  2057. IF lena(ls_summary) > 100 THEN ls_summary = LeftA(ls_summary,90) + '......'
  2058. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,0,ls_summary,arg_postscript,arg_remark,'',billcode,0,arg_msg,False) = 0 THEN
  2059. rslt = 0
  2060. GOTO ext
  2061. END IF
  2062. ext:
  2063. IF rslt = 0 THEN
  2064. ROLLBACK Using commit_transaction;
  2065. ELSEIF rslt = 1 And arg_ifcommit THEN
  2066. COMMIT Using commit_transaction;
  2067. END IF
  2068. Destroy ds_pricemx
  2069. RETURN rslt
  2070. end function
  2071. public function integer send_quote (long arg_scid, long arg_quoteid, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  2072. String ls_summary
  2073. Long ll_SendCusCommID
  2074. String ls_SendSCcode
  2075. Int li_ifecomm
  2076. String ls_commcode,ls_commsccode
  2077. Long ll_ReceiveCusCommID
  2078. String ls_SerialNum
  2079. Long ll_i
  2080. Long cnt
  2081. s_mtrldef_array s_post_mtrl
  2082. datastore ds_pricemx
  2083. ds_pricemx = Create datastore
  2084. ds_pricemx.DataObject = 'ds_quotemx_send_ljfieb'
  2085. ds_pricemx.SetTransObject(sqlca)
  2086. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  2087. From u_user Using sqlca;
  2088. IF sqlca.SQLCode <> 0 THEN
  2089. rslt = 0
  2090. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  2091. GOTO ext
  2092. END IF
  2093. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  2094. IF ls_SerialNum = '' THEN
  2095. rslt = 0
  2096. arg_msg = '错误的发送序列号'
  2097. GOTO ext
  2098. END IF
  2099. //查询本企业通信信息
  2100. SELECT CusCommID
  2101. INTO :ll_SendCusCommID
  2102. FROM LJFIEB_CusComm
  2103. Where CusType = 0 Using commit_transaction;
  2104. IF commit_transaction.SQLCode <> 0 THEN
  2105. rslt = 0
  2106. arg_msg = '查询本企业通信信息失败,请检查设置,'+sqlca.SQLErrText
  2107. GOTO ext
  2108. END IF
  2109. SELECT sccode
  2110. INTO :ls_SendSCcode
  2111. FROM u_scdef
  2112. Where scid = :arg_scid Using sqlca;
  2113. IF sqlca.SQLCode <> 0 THEN
  2114. rslt = 0
  2115. arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  2116. GOTO ext
  2117. END IF
  2118. SELECT u_cust.ifecomm,
  2119. u_cust.commcode,
  2120. u_cust.commsccode
  2121. INTO :li_ifecomm,
  2122. :ls_commcode,
  2123. :ls_commsccode
  2124. FROM u_quote INNER JOIN
  2125. u_cust ON u_quote.cusid = u_cust.cusid
  2126. WHERE u_quote.scid = :arg_scid
  2127. And u_quote.quoteid = :arg_quoteid Using sqlca;
  2128. IF sqlca.SQLCode <> 0 THEN
  2129. rslt = 0
  2130. arg_msg = '查询销售报价单相关客户通信信息失败,请检查设置,'+sqlca.SQLErrText
  2131. GOTO ext
  2132. END IF
  2133. IF li_ifecomm = 0 THEN
  2134. rslt = 0
  2135. arg_msg = '客户没有使用电子商务,不能发送单据'
  2136. GOTO ext
  2137. END IF
  2138. If li_ifecomm = 2 Then
  2139. Select CusCommID
  2140. Into :ll_ReceiveCusCommID
  2141. From LJFIEB_CusComm
  2142. Where CusType = 5 Using commit_transaction;
  2143. If commit_transaction.SQLCode <> 0 Then
  2144. rslt = 0
  2145. arg_msg = '查询电子商务网站通讯连接失败,请先确认已设置电子商务网站通讯连接,'+commit_transaction.SQLErrText
  2146. Goto ext
  2147. End If
  2148. If ll_ReceiveCusCommID = 0 Then
  2149. rslt = 0
  2150. arg_msg = '请先确认已设置电子商务网站通讯连接!'
  2151. Goto ext
  2152. End If
  2153. ElseIf li_ifecomm = 1 Then
  2154. Select CusCommID
  2155. Into :ll_ReceiveCusCommID
  2156. From LJFIEB_CusComm
  2157. Where cuscode = :ls_commcode Using commit_transaction;
  2158. If commit_transaction.SQLCode <> 0 Then
  2159. rslt = 0
  2160. arg_msg = '查询客户相关通信设置失败,'+commit_transaction.SQLErrText
  2161. Goto ext
  2162. End If
  2163. If ll_ReceiveCusCommID = 0 Then
  2164. rslt = 0
  2165. arg_msg = '客户相关的通信设置不正确,请检查'
  2166. Goto ext
  2167. End If
  2168. End If
  2169. String quotecode
  2170. Long cusid,moneyid
  2171. DateTime quotedate
  2172. String assign_emp, relcode, dscrp, opemp,ls_moneyname,fiebrelcode
  2173. DateTime opdate
  2174. moneyid = 11 //默认本位币
  2175. SELECT quotecode,
  2176. cusid,
  2177. quotedate,
  2178. assign_emp,
  2179. relcode,
  2180. dscrp,
  2181. opemp,
  2182. opdate,
  2183. fiebrelcode
  2184. INTO :quotecode,
  2185. :cusid,
  2186. :quotedate,
  2187. :assign_emp,
  2188. :relcode,
  2189. :dscrp,
  2190. :opemp,
  2191. :opdate,
  2192. :fiebrelcode
  2193. FROM u_quote
  2194. WHERE scid = :arg_scid
  2195. And quoteid = :arg_quoteid Using sqlca;
  2196. IF sqlca.SQLCode <> 0 THEN
  2197. rslt = 0
  2198. arg_msg = '查询销售报价单信息失败,'+sqlca.SQLErrText
  2199. GOTO ext
  2200. END IF
  2201. SELECT name
  2202. INTO :ls_moneyname
  2203. FROM cw_currency
  2204. Where moneyid = :moneyid Using sqlca;
  2205. IF sqlca.SQLCode <> 0 THEN
  2206. rslt = 0
  2207. arg_msg = '查询供应商询价单币种失败,'+sqlca.SQLErrText
  2208. GOTO ext
  2209. END IF
  2210. INSERT INTO LJFIEB_tempquote
  2211. (serialnum,
  2212. scid,
  2213. quoteid,
  2214. quotecode,
  2215. cusid,
  2216. quotedate,
  2217. assign_emp,
  2218. relcode,
  2219. dscrp,
  2220. opemp,
  2221. opdate,
  2222. moneyname,
  2223. fiebrelcode)
  2224. VALUES (:ls_serialnum,
  2225. :arg_scid,
  2226. :arg_quoteid,
  2227. :quotecode,
  2228. :cusid,
  2229. :quotedate,
  2230. :assign_emp,
  2231. :relcode,
  2232. :dscrp,
  2233. :opemp,
  2234. :opdate,
  2235. :ls_moneyname,
  2236. :fiebrelcode) Using commit_transaction;
  2237. IF commit_transaction.SQLCode <> 0 THEN
  2238. rslt = 0
  2239. arg_msg = '插入临时销售报价单表失败,'+commit_transaction.SQLErrText
  2240. GOTO ext
  2241. END IF
  2242. ds_pricemx.Retrieve(arg_scid,arg_quoteid)
  2243. Long printid_mx, mtrlid_mx
  2244. String mtrlcode_mx, mtrlname_mx, mtrlmode_mx, unit_mx
  2245. Decimal price_mx, rebate_mx, qty_mx, qty1_mx
  2246. String mxdscrp_mx, status_mx, woodcode_mx, pcode_mx
  2247. FOR ll_i = 1 To ds_pricemx.RowCount()
  2248. printid_mx = ds_pricemx.Object.printid[ll_i]
  2249. mtrlid_mx = ds_pricemx.Object.mtrlid[ll_i]
  2250. mtrlcode_mx = ds_pricemx.Object.u_mtrldef_mtrlcode[ll_i]
  2251. mtrlname_mx = ds_pricemx.Object.u_mtrldef_mtrlname[ll_i]
  2252. mtrlmode_mx = ds_pricemx.Object.u_mtrldef_mtrlmode[ll_i]
  2253. unit_mx = ds_pricemx.Object.u_mtrldef_unit[ll_i]
  2254. price_mx = ds_pricemx.Object.sumprice_1[ll_i]
  2255. rebate_mx = ds_pricemx.Object.rebate[ll_i]
  2256. qty_mx = ds_pricemx.Object.qty[ll_i]
  2257. qty1_mx = ds_pricemx.Object.qty1[ll_i]
  2258. mxdscrp_mx = ds_pricemx.Object.mxdscrp[ll_i]
  2259. status_mx = ds_pricemx.Object.status[ll_i]
  2260. woodcode_mx = ds_pricemx.Object.woodcode[ll_i]
  2261. pcode_mx = ds_pricemx.Object.pcode[ll_i]
  2262. SELECT count(0)
  2263. INTO :cnt
  2264. FROM u_cusmtrlname
  2265. WHERE cusid = :cusid
  2266. And mtrlid = :mtrlid_mx Using sqlca;
  2267. IF sqlca.SQLCode <> 0 THEN
  2268. rslt = 0
  2269. arg_msg = '查询客户别名失败,' + sqlca.SQLErrText
  2270. GOTO ext
  2271. END IF
  2272. IF cnt = 0 THEN
  2273. IF f_ljfieb_fillmtrl(mtrlcode_mx,0,s_post_mtrl,arg_msg) <> 1 THEN
  2274. rslt = 0
  2275. GOTO ext
  2276. END IF
  2277. END IF
  2278. INSERT INTO LJFIEB_tempquotemx
  2279. (serialnum,
  2280. scid,
  2281. quoteid,
  2282. printid,
  2283. mtrlid,
  2284. mtrlcode,
  2285. mtrlname,
  2286. mtrlmode,
  2287. unit,
  2288. price,
  2289. rebate,
  2290. qty,
  2291. qty1,
  2292. mxdscrp,
  2293. status,
  2294. woodcode,
  2295. pcode)
  2296. VALUES (:ls_serialnum,
  2297. :arg_scid,
  2298. :arg_quoteid,
  2299. :printid_mx,
  2300. :mtrlid_mx,
  2301. :mtrlcode_mx,
  2302. :mtrlname_mx,
  2303. :mtrlmode_mx,
  2304. :unit_mx,
  2305. :price_mx,
  2306. :rebate_mx,
  2307. :qty_mx,
  2308. :qty1_mx,
  2309. :mxdscrp_mx,
  2310. :status_mx,
  2311. :woodcode_mx,
  2312. :pcode_mx) Using commit_transaction;
  2313. IF commit_transaction.SQLCode <> 0 THEN
  2314. rslt = 0
  2315. arg_msg = '插入临时销售询价单明细表失败,'+commit_transaction.SQLErrText
  2316. GOTO ext
  2317. END IF
  2318. NEXT
  2319. String ls_tablename
  2320. ls_tablename = 'LJFIEB_tempquote,LJFIEB_tempquotemx'
  2321. IF lena(ls_summary) > 100 THEN ls_summary = LeftA(ls_summary,90) + '......'
  2322. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,1,ls_summary,arg_postscript,arg_remark,'',quotecode,cusid,arg_msg,False) = 0 THEN
  2323. rslt = 0
  2324. GOTO ext
  2325. END IF
  2326. IF UpperBound(s_post_mtrl.MtrlID) > 0 THEN
  2327. IF add_mtrldef(ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,s_post_mtrl,ls_summary,arg_postscript,arg_remark,arg_msg,False) <> 1 THEN
  2328. rslt = 0
  2329. GOTO ext
  2330. END IF
  2331. END IF
  2332. ext:
  2333. IF rslt = 0 THEN
  2334. ROLLBACK Using commit_transaction;
  2335. ELSEIF rslt = 1 And arg_ifcommit THEN
  2336. COMMIT Using commit_transaction;
  2337. END IF
  2338. Destroy ds_pricemx
  2339. RETURN rslt
  2340. end function
  2341. public function integer send_mtrlware (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, s_mtrlware_ljfieb arg_s_mtrlware[], ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  2342. Long ll_i
  2343. String ls_SerialNum,ls_tablename
  2344. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  2345. From u_user Using sqlca;
  2346. IF sqlca.SQLCode <> 0 THEN
  2347. rslt = 0
  2348. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  2349. GOTO ext
  2350. END IF
  2351. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  2352. IF ls_SerialNum = '' THEN
  2353. rslt = 0
  2354. arg_msg = '错误的发送序列号'
  2355. GOTO ext
  2356. END IF
  2357. IF UpperBound(arg_s_mtrlware) = 0 THEN
  2358. rslt = 0
  2359. arg_msg = '没有可发送的内容'
  2360. GOTO ext
  2361. END IF
  2362. FOR ll_i = 1 To UpperBound(arg_s_mtrlware)
  2363. INSERT INTO LJFIEB_mtrlware
  2364. (SerialNum,
  2365. scid,
  2366. mtrlwareid,
  2367. mtrlid,
  2368. storagename,
  2369. status,
  2370. woodcode,
  2371. pcode,
  2372. plancode,
  2373. mtrlcuscode,
  2374. location,
  2375. notauditnoallocqty,
  2376. mtrlcode,
  2377. mtrlname)
  2378. VALUES (:ls_SerialNum,
  2379. :arg_s_mtrlware[ll_i].scid,
  2380. :arg_s_mtrlware[ll_i].mtrlwareid,
  2381. :arg_s_mtrlware[ll_i].mtrlid,
  2382. :arg_s_mtrlware[ll_i].storagename,
  2383. :arg_s_mtrlware[ll_i].status,
  2384. :arg_s_mtrlware[ll_i].woodcode,
  2385. :arg_s_mtrlware[ll_i].pcode,
  2386. :arg_s_mtrlware[ll_i].plancode,
  2387. :arg_s_mtrlware[ll_i].mtrlcuscode,
  2388. :arg_s_mtrlware[ll_i].location,
  2389. :arg_s_mtrlware[ll_i].notauditnoallocqty,
  2390. :arg_s_mtrlware[ll_i].mtrlcode,
  2391. :arg_s_mtrlware[ll_i].mtrlname) Using commit_transaction;
  2392. IF commit_transaction.SQLCode <> 0 THEN
  2393. rslt = 0
  2394. arg_msg = '插入临时库存表失败,'+commit_transaction.SQLErrText
  2395. GOTO ext
  2396. END IF
  2397. NEXT
  2398. ls_tablename = 'LJFIEB_mtrlware'
  2399. IF add_packet(ls_SerialNum,ls_tablename,arg_sendcuscommid,arg_sendsccode,arg_receivecuscommid,arg_receivesccode,18,'','','','','',0,arg_msg,False) = 0 THEN
  2400. rslt = 0
  2401. GOTO ext
  2402. END IF
  2403. ext:
  2404. IF rslt = 0 THEN
  2405. ROLLBACK Using commit_transaction;
  2406. ELSEIF rslt = 1 And arg_ifcommit THEN
  2407. COMMIT Using commit_transaction;
  2408. END IF
  2409. RETURN rslt
  2410. end function
  2411. public function integer send_mtrl_match (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, s_mtrl_match_ljfieb arg_s_match[], ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  2412. Long ll_i
  2413. String ls_SerialNum,ls_tablename
  2414. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  2415. From u_user Using sqlca;
  2416. IF sqlca.SQLCode <> 0 THEN
  2417. rslt = 0
  2418. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  2419. GOTO ext
  2420. END IF
  2421. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  2422. IF ls_SerialNum = '' THEN
  2423. rslt = 0
  2424. arg_msg = '错误的发送序列号'
  2425. GOTO ext
  2426. END IF
  2427. IF UpperBound(arg_s_match) = 0 THEN
  2428. rslt = 0
  2429. arg_msg = '没有可发送的内容'
  2430. GOTO ext
  2431. END IF
  2432. FOR ll_i = 1 To UpperBound(arg_s_match)
  2433. INSERT INTO LJFIEB_mtrl_match
  2434. (serialnum,
  2435. mtrlcode_spt,
  2436. mtrlcode_self,
  2437. mtrlname_self,
  2438. mtrlmode_self)
  2439. VALUES (:ls_SerialNum,
  2440. :arg_s_match[ll_i].mtrlcode_spt,
  2441. :arg_s_match[ll_i].mtrlcode_self,
  2442. :arg_s_match[ll_i].mtrlname_self,
  2443. :arg_s_match[ll_i].mtrlmode_self) Using commit_transaction;
  2444. IF commit_transaction.SQLCode <> 0 THEN
  2445. rslt = 0
  2446. arg_msg = '插入临时资料匹配反馈表失败,'+commit_transaction.SQLErrText
  2447. GOTO ext
  2448. END IF
  2449. NEXT
  2450. ls_tablename = 'LJFIEB_mtrl_match'
  2451. IF add_packet(ls_SerialNum,ls_tablename,arg_sendcuscommid,arg_sendsccode,arg_receivecuscommid,arg_receivesccode,19,'','','','','',0,arg_msg,False) = 0 THEN
  2452. rslt = 0
  2453. GOTO ext
  2454. END IF
  2455. ext:
  2456. IF rslt = 0 THEN
  2457. ROLLBACK Using commit_transaction;
  2458. ELSEIF rslt = 1 And arg_ifcommit THEN
  2459. COMMIT Using commit_transaction;
  2460. END IF
  2461. RETURN rslt
  2462. end function
  2463. public function integer send_buytask_jd (long arg_scid, long arg_taskid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  2464. Long ll_SendCusCommID
  2465. String ls_SendSCcode
  2466. Int li_ifecomm
  2467. String ls_commcode,ls_commsccode
  2468. Long ll_ReceiveCusCommID
  2469. String ls_SerialNum
  2470. Long ll_i,ll_cusid
  2471. String ls_fiebrelcode
  2472. Long ll_status
  2473. datastore ds_jd
  2474. ds_jd = Create datastore
  2475. ds_jd.DataObject = 'ds_buytask_jd_ljfieb'
  2476. ds_jd.SetTransObject(sqlca)
  2477. SELECT u_cust.ifecomm,
  2478. u_cust.commcode,
  2479. u_cust.commsccode,
  2480. u_cust.cusid,
  2481. u_saletask.fiebrelcode,
  2482. u_saletask.status
  2483. INTO :li_ifecomm,
  2484. :ls_commcode,
  2485. :ls_commsccode,
  2486. :ll_cusid,
  2487. :ls_fiebrelcode,
  2488. :ll_status
  2489. FROM u_saletask INNER JOIN
  2490. u_cust ON u_saletask.cusid = u_cust.cusid
  2491. WHERE u_saletask.scid = :arg_scid
  2492. And u_saletask.taskid = :arg_taskid Using sqlca;
  2493. IF sqlca.SQLCode <> 0 THEN
  2494. rslt = 0
  2495. arg_msg = '查询销售订单相关客户通信信息失败,请检查设置,'+sqlca.SQLErrText
  2496. GOTO ext
  2497. END IF
  2498. IF ll_status <= 0 THEN
  2499. ll_status = 1
  2500. END IF
  2501. IF li_ifecomm = 0 THEN
  2502. rslt = 0
  2503. arg_msg = '客户没有使用电子商务,不能发送单据'
  2504. GOTO ext
  2505. END IF
  2506. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  2507. From u_user Using sqlca;
  2508. IF sqlca.SQLCode <> 0 THEN
  2509. rslt = 0
  2510. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  2511. GOTO ext
  2512. END IF
  2513. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  2514. IF ls_SerialNum = '' THEN
  2515. rslt = 0
  2516. arg_msg = '错误的发送序列号'
  2517. GOTO ext
  2518. END IF
  2519. //查询本企业通信信息
  2520. SELECT CusCommID
  2521. INTO :ll_SendCusCommID
  2522. FROM LJFIEB_CusComm
  2523. Where CusType = 0 Using commit_transaction;
  2524. IF commit_transaction.SQLCode <> 0 THEN
  2525. rslt = 0
  2526. arg_msg = '查询本企业通信信息失败,请检查设置,'+sqlca.SQLErrText
  2527. GOTO ext
  2528. END IF
  2529. SELECT sccode
  2530. INTO :ls_SendSCcode
  2531. FROM u_scdef
  2532. Where scid = :arg_scid Using sqlca;
  2533. IF sqlca.SQLCode <> 0 THEN
  2534. rslt = 0
  2535. arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  2536. GOTO ext
  2537. END IF
  2538. IF li_ifecomm = 2 THEN
  2539. SELECT CusCommID
  2540. INTO :ll_ReceiveCusCommID
  2541. FROM LJFIEB_CusComm
  2542. Where CusType = 5 Using commit_transaction;
  2543. IF commit_transaction.SQLCode <> 0 THEN
  2544. rslt = 0
  2545. arg_msg = '查询电子商务网站通讯连接失败,请先确认已设置电子商务网站通讯连接,'+commit_transaction.SQLErrText
  2546. GOTO ext
  2547. END IF
  2548. IF ll_ReceiveCusCommID = 0 THEN
  2549. rslt = 0
  2550. arg_msg = '请先确认已设置电子商务网站通讯连接!'
  2551. GOTO ext
  2552. END IF
  2553. ELSEIF li_ifecomm = 1 THEN
  2554. SELECT CusCommID
  2555. INTO :ll_ReceiveCusCommID
  2556. FROM LJFIEB_CusComm
  2557. Where cuscode = :ls_commcode Using commit_transaction;
  2558. IF commit_transaction.SQLCode <> 0 THEN
  2559. rslt = 0
  2560. arg_msg = '查询客户相关通信设置失败,'+commit_transaction.SQLErrText
  2561. GOTO ext
  2562. END IF
  2563. IF ll_ReceiveCusCommID = 0 THEN
  2564. rslt = 0
  2565. arg_msg = '客户相关的通信设置不正确,请检查'
  2566. GOTO ext
  2567. END IF
  2568. END IF
  2569. ds_jd.Retrieve(arg_scid,arg_taskid)
  2570. IF ds_jd.RowCount() <= 0 THEN
  2571. rslt = 0
  2572. arg_msg = '没有可发送的进度内容'
  2573. GOTO ext
  2574. END IF
  2575. String ls_taskcode
  2576. Long ll_printid
  2577. String ls_mtrlcode,ls_mtrlname
  2578. Decimal ld_orderqty,ld_acmpqty,ld_saleoutqty,ld_outwareqty
  2579. DateTime ldt_perfinishdate
  2580. FOR ll_i = 1 To ds_jd.RowCount()
  2581. // ls_taskcode = ds_jd.Object.u_saletask_taskcode[ll_i]
  2582. ll_printid = ds_jd.Object.u_saletaskmx_printid[ll_i]
  2583. ls_mtrlcode = ds_jd.Object.u_mtrldef_mtrlcode[ll_i]
  2584. ls_mtrlname = ds_jd.Object.u_mtrldef_mtrlname[ll_i]
  2585. ld_orderqty = ds_jd.Object.v_order_ml_orderqty[ll_i]
  2586. ld_acmpqty = ds_jd.Object.v_order_ml_acmpqty[ll_i]
  2587. ld_saleoutqty = ds_jd.Object.u_saletaskmx_saleoutqty[ll_i]
  2588. ld_outwareqty = ds_jd.Object.u_saletaskmx_consignedqty[ll_i]
  2589. ldt_perfinishdate = ds_jd.Object.v_order_ml_perfinishdate[ll_i]
  2590. INSERT INTO LJFIEB_buytask_jd
  2591. (SerialNum,
  2592. taskcode,
  2593. printid,
  2594. mtrlcode,
  2595. mtrlname,
  2596. orderqty,
  2597. perfinishdate,
  2598. acmpqty,
  2599. saleoutqty,
  2600. outwareqty)
  2601. VALUES (:ls_SerialNum,
  2602. :ls_fiebrelcode,
  2603. :ll_printid,
  2604. :ls_mtrlcode,
  2605. :ls_mtrlname,
  2606. :ld_orderqty,
  2607. :ldt_perfinishdate,
  2608. :ld_acmpqty,
  2609. :ld_saleoutqty,
  2610. :ld_outwareqty)Using commit_transaction;
  2611. IF commit_transaction.SQLCode <> 0 THEN
  2612. rslt = 0
  2613. arg_msg = '插入临时采购订单进度表失败,'+commit_transaction.SQLErrText
  2614. GOTO ext
  2615. END IF
  2616. NEXT
  2617. INSERT INTO LJFIEB_tempbuyTask
  2618. (scid, TaskID, TaskCode, orderid, kind, sptID, requiredate, accomplishdate, finishemp, Status, Opemp, Modemp, moddate, Assign_Emp, Permit_Emp,
  2619. Permit_date, Dscrp, opdate, stopemp, ctmint, printnum, relcode, banktypeid, train, reason, billtype, firpermitemp, firpermitdate, billamt, moneyid, mrate,
  2620. serialnum, sys_changetime, banktypename, moneyname, dscrp2, station_name, station_tel, shouhuoren, shouhuoren_tel, shouhuoren_address,
  2621. childCusID, spt_dscrp, spt_dscrp2, cusid)
  2622. SELECT TOP 1 scid, TaskID, TaskCode, orderid, kind, sptID, requiredate, accomplishdate, finishemp, :ll_status, Opemp, Modemp, moddate,
  2623. Assign_Emp, Permit_Emp, Permit_date, Dscrp, opdate, stopemp, ctmint, printnum, relcode, banktypeid, train, reason, billtype, firpermitemp,
  2624. firpermitdate, billamt, moneyid, mrate, :ls_SerialNum, GETDATE(), banktypename, moneyname, dscrp2, station_name, station_tel, shouhuoren,
  2625. shouhuoren_tel, shouhuoren_address, childCusID, spt_dscrp, spt_dscrp2, cusid
  2626. FROM LJFIEB_tempbuyTask AS LJFIEB_tempbuyTask_1
  2627. WHERE (TaskCode = :ls_fiebrelcode)
  2628. ORDER BY sys_changetime DESC
  2629. Using commit_transaction;
  2630. IF commit_transaction.SQLCode <> 0 THEN
  2631. rslt = 0
  2632. arg_msg = '插入临时采购订单状态失败,'+commit_transaction.SQLErrText
  2633. GOTO ext
  2634. END IF
  2635. IF commit_transaction.SQLNRows <> 1 THEN
  2636. rslt = 0
  2637. arg_msg = '插入临时采购订单状态失败'
  2638. GOTO ext
  2639. END IF
  2640. String ls_tablename
  2641. ls_tablename = 'LJFIEB_buytask_jd,LJFIEB_tempbuyTask'
  2642. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,23,arg_summary,arg_postscript,arg_remark,'',ls_fiebrelcode,ll_cusid,arg_msg,False) = 0 THEN
  2643. rslt = 0
  2644. GOTO ext
  2645. END IF
  2646. ext:
  2647. IF rslt = 0 THEN
  2648. ROLLBACK Using commit_transaction;
  2649. ELSEIF rslt = 1 And arg_ifcommit THEN
  2650. COMMIT Using commit_transaction;
  2651. END IF
  2652. RETURN rslt
  2653. end function
  2654. public function integer add_packet (string arg_serialnum, string arg_tablename, long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, integer arg_billtype, string arg_summary, string arg_postscript, string arg_remark, string arg_relatedserialnum, string arg_relatedcode, long arg_cusid, ref string arg_msg, boolean arg_ifcommit);
  2655. Int rslt = 1
  2656. Long cnt
  2657. IF IsNull(arg_SerialNum) THEN arg_SerialNum = ''
  2658. IF IsNull(arg_TableName) THEN arg_TableName = ''
  2659. IF IsNull(arg_SendCusCommID) THEN arg_SendCusCommID = 0
  2660. IF IsNull(arg_SendSCcode) THEN arg_SendSCcode = ''
  2661. IF IsNull(arg_ReceiveCusCommID) THEN arg_ReceiveCusCommID = 0
  2662. IF IsNull(arg_ReceiveSCcode) THEN arg_ReceiveSCcode = ''
  2663. IF IsNull(arg_billtype) THEN arg_billtype = 0
  2664. IF IsNull(arg_Summary) THEN arg_Summary = ''
  2665. IF IsNull(arg_Postscript) THEN arg_Postscript = ''
  2666. IF IsNull(arg_Remark) THEN arg_Remark = ''
  2667. IF IsNull(arg_RelatedCode) THEN arg_RelatedCode = ''
  2668. IF arg_relatedserialnum = '' THEN SetNull(arg_relatedserialnum)
  2669. IF IsNull(arg_cusid) THEN arg_cusid = 0
  2670. IF arg_SerialNum = '' THEN
  2671. rslt = 0
  2672. arg_msg = '错误的发送序列号'
  2673. GOTO ext
  2674. END IF
  2675. IF arg_SendCusCommID = 0 THEN
  2676. rslt = 0
  2677. arg_msg = '错误的发送者企业编号'
  2678. GOTO ext
  2679. END IF
  2680. IF arg_ReceiveCusCommID = 0 THEN
  2681. rslt = 0
  2682. arg_msg = '错误的接收者企业编号'
  2683. GOTO ext
  2684. END IF
  2685. SELECT count(*)
  2686. INTO :cnt
  2687. FROM LJFIEB_CusComm
  2688. Where CusCommID = :arg_ReceiveCusCommID Using commit_transaction;
  2689. IF commit_transaction.SQLCode <> 0 THEN
  2690. rslt = 0
  2691. arg_msg = '查询接收者信息失败,'+commit_transaction.SQLErrText
  2692. GOTO ext
  2693. END IF
  2694. IF cnt = 0 THEN
  2695. rslt = 0
  2696. arg_msg = '没有找到接收者的相关信息,请先设定'
  2697. GOTO ext
  2698. ELSEIF cnt <> 1 THEN
  2699. rslt = 0
  2700. arg_msg = '找到多个接收者,请先确认接收者设置信息'
  2701. GOTO ext
  2702. END IF
  2703. String ls_SendCusID, ls_ReceiveCusID
  2704. SELECT CusID
  2705. INTO :ls_ReceiveCusID
  2706. FROM LJFIEB_CusComm
  2707. Where CusCommID = :arg_ReceiveCusCommID Using commit_transaction;
  2708. IF commit_transaction.SQLCode <> 0 THEN
  2709. rslt = 0
  2710. arg_msg = '查询接收者唯一码失败,'+commit_transaction.SQLErrText
  2711. GOTO ext
  2712. END IF
  2713. SELECT CusID
  2714. INTO :ls_SendCusID
  2715. FROM LJFIEB_CusComm
  2716. Where CusCommID = :arg_SendCusCommID Using commit_transaction;
  2717. IF commit_transaction.SQLCode <> 0 THEN
  2718. rslt = 0
  2719. arg_msg = '查询发送者唯一码失败,'+commit_transaction.SQLErrText
  2720. GOTO ext
  2721. END IF
  2722. INSERT INTO LJFIEB_packet
  2723. (SerialNum,
  2724. TableName,
  2725. SendCusCommID,
  2726. SendSCcode,
  2727. AddUser,
  2728. AddTime,
  2729. ReceiveCusCommID,
  2730. ReceiveSCcode,
  2731. Status,
  2732. BillType,
  2733. Summary,
  2734. Postscript,
  2735. Remark,
  2736. RelatedCode,
  2737. RelatedSerialNum,
  2738. SendTime,
  2739. cusid,
  2740. SendCusID,
  2741. ReceiveCusID)
  2742. VALUES (:arg_SerialNum,
  2743. :arg_TableName,
  2744. :arg_SendCusCommID,
  2745. :arg_SendSCcode,
  2746. :publ_operator,
  2747. getdate(),
  2748. :arg_ReceiveCusCommID,
  2749. :arg_ReceiveSCcode,
  2750. 0,
  2751. :arg_BillType,
  2752. :arg_Summary,
  2753. :arg_Postscript,
  2754. :arg_Remark,
  2755. :arg_RelatedCode,
  2756. :arg_relatedserialnum,
  2757. getdate(),
  2758. :arg_cusid,
  2759. :ls_SendCusID,
  2760. :ls_ReceiveCusID) Using commit_transaction;
  2761. IF commit_transaction.SQLCode <> 0 THEN
  2762. rslt = 0
  2763. arg_msg = '插入数据交换表失败,'+commit_transaction.SQLErrText
  2764. GOTO ext
  2765. END IF
  2766. ext:
  2767. IF rslt = 0 THEN
  2768. ROLLBACK Using commit_transaction;
  2769. ELSEIF rslt = 1 And arg_ifcommit THEN
  2770. COMMIT Using commit_transaction;
  2771. END IF
  2772. RETURN rslt
  2773. end function
  2774. public function integer update_buytask_jd (string arg_taskcode, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  2775. String ls_sn
  2776. long ll_i
  2777. datetime ldt_SendTime
  2778. datastore ds_jd
  2779. ds_jd = create datastore
  2780. ds_jd.dataobject = 'ds_buytask_jd_get_ljfieb'
  2781. ds_jd.settransobject(commit_transaction)
  2782. Select top 1 SerialNum,SendTime
  2783. Into :ls_sn,:ldt_SendTime
  2784. From LJFIEB_packet
  2785. Where billtype = 23
  2786. And RelatedCode = :arg_taskcode
  2787. Order By sendtime Desc
  2788. Using commit_transaction;
  2789. If commit_transaction.SQLCode <> 0 Then
  2790. rslt = 0
  2791. arg_msg = '查询通讯数据库订单进度资料失败,'+commit_transaction.SQLErrText
  2792. Goto ext
  2793. ElseIf commit_transaction.SQLCode = 100 Then
  2794. rslt = 0
  2795. arg_msg = '没有找到订单进度数据'
  2796. Goto ext
  2797. End If
  2798. ds_jd.retrieve(ls_sn,arg_taskcode)
  2799. if ds_jd.rowcount() <= 0 then
  2800. rslt = 0
  2801. arg_msg = '没有找到订单进度数据'
  2802. Goto ext
  2803. End If
  2804. String ls_taskcode
  2805. Long ll_printid
  2806. String ls_mtrlcode,ls_mtrlname
  2807. Decimal ld_orderqty,ld_acmpqty,ld_saleoutqty,ld_outwareqty
  2808. DateTime ldt_perfinishdate
  2809. DELETE FROM u_buytask_jd
  2810. Where u_buytask_jd.taskcode = :arg_taskcode Using sqlca;
  2811. IF sqlca.SQLCode <> 0 THEN
  2812. rslt = 0
  2813. ARG_MSG = "删除采购订单原进度数据操作失败"+"~n"+sqlca.SQLErrText
  2814. GOTO ext
  2815. END IF
  2816. For ll_i = 1 To ds_jd.RowCount()
  2817. ls_taskcode = ds_jd.Object.taskcode[ll_i]
  2818. ll_printid = ds_jd.Object.printid[ll_i]
  2819. ls_mtrlcode = ds_jd.Object.mtrlcode[ll_i]
  2820. ls_mtrlname = ds_jd.Object.mtrlname[ll_i]
  2821. ld_orderqty = ds_jd.Object.orderqty[ll_i]
  2822. ld_acmpqty = ds_jd.Object.acmpqty[ll_i]
  2823. ld_saleoutqty = ds_jd.Object.saleoutqty[ll_i]
  2824. ld_outwareqty = ds_jd.Object.outwareqty[ll_i]
  2825. ldt_perfinishdate = ds_jd.Object.perfinishdate[ll_i]
  2826. Insert Into u_buytask_jd
  2827. (taskcode,
  2828. printid,
  2829. mtrlcode,
  2830. mtrlname,
  2831. orderqty,
  2832. perfinishdate,
  2833. acmpqty,
  2834. saleoutqty,
  2835. outwareqty,
  2836. sendtime)
  2837. Values (:ls_taskcode,
  2838. :ll_printid,
  2839. :ls_mtrlcode,
  2840. :ls_mtrlname,
  2841. :ld_orderqty,
  2842. :ldt_perfinishdate,
  2843. :ld_acmpqty,
  2844. :ld_saleoutqty,
  2845. :ld_outwareqty,
  2846. :ldt_SendTime)Using sqlca;
  2847. If sqlca.SQLCode <> 0 Then
  2848. rslt = 0
  2849. arg_msg = '插入采购订单进度表失败,'+sqlca.SQLErrText
  2850. Goto ext
  2851. End If
  2852. Next
  2853. //更新本地通信记录
  2854. UPDATE LJFIEB_packet
  2855. SET status = 6,
  2856. Complete = 1,
  2857. ConfirmTime = getdate(),
  2858. ConfirmUser = :publ_operator
  2859. Where billtype = 23
  2860. And RelatedCode = :arg_taskcode
  2861. and Complete = 0
  2862. and SendTime <= :ldt_SendTime Using commit_transaction;
  2863. IF commit_transaction.SQLCode <> 0 THEN
  2864. rslt = 0
  2865. arg_msg = '更新本地通信记录失败,'+commit_transaction.SQLErrText
  2866. goto ext
  2867. END IF
  2868. ext:
  2869. IF rslt = 0 THEN
  2870. ROLLBACK Using sqlca;
  2871. ROLLBACK Using commit_transaction;
  2872. ELSEIF rslt = 1 And arg_ifcommit THEN
  2873. COMMIT Using sqlca;
  2874. COMMIT Using commit_transaction;
  2875. END IF
  2876. RETURN rslt
  2877. end function
  2878. public function integer send_reissue (long arg_scid, long arg_reissueid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  2879. Long ll_SendCusCommID
  2880. String ls_SendSCcode
  2881. Int li_ifecomm
  2882. String ls_commcode,ls_commsccode
  2883. Long ll_ReceiveCusCommID
  2884. String ls_SerialNum
  2885. Long ll_i
  2886. datastore ds_mx
  2887. ds_mx = Create datastore
  2888. ds_mx.DataObject = 'ds_reissuemx_ljfieb'
  2889. ds_mx.SetTransObject(sqlca)
  2890. Select TOP 1 NEWID() Into :ls_SerialNum
  2891. From u_user Using sqlca;
  2892. If sqlca.SQLCode <> 0 Then
  2893. rslt = 0
  2894. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  2895. Goto ext
  2896. End If
  2897. If IsNull(ls_SerialNum) Then ls_SerialNum = ''
  2898. If ls_SerialNum = '' Then
  2899. rslt = 0
  2900. arg_msg = '错误的发送序列号'
  2901. Goto ext
  2902. End If
  2903. //查询本企业通信信息
  2904. Select CusCommID
  2905. Into :ll_SendCusCommID
  2906. From LJFIEB_CusComm
  2907. Where CusType = 0 Using commit_transaction;
  2908. If commit_transaction.SQLCode <> 0 Then
  2909. rslt = 0
  2910. arg_msg = '查询本企业通信信息失败,请检查设置,'+commit_transaction.SQLErrText
  2911. Goto ext
  2912. End If
  2913. Select sccode
  2914. Into :ls_SendSCcode
  2915. From u_scdef
  2916. Where scid = :arg_scid Using sqlca;
  2917. If sqlca.SQLCode <> 0 Then
  2918. rslt = 0
  2919. arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  2920. Goto ext
  2921. End If
  2922. Select u_cust.ifecomm,
  2923. u_cust.commcode,
  2924. u_cust.commsccode
  2925. Into :li_ifecomm,
  2926. :ls_commcode,
  2927. :ls_commsccode
  2928. From u_reissue LEFT Outer JOIN
  2929. u_cust ON u_reissue.cusid = u_cust.cusid
  2930. Where u_reissue.scid = :arg_scid
  2931. And u_reissue.reissueid = :arg_reissueid Using sqlca;
  2932. If sqlca.SQLCode <> 0 Then
  2933. rslt = 0
  2934. arg_msg = '查询客户费用单相关客户通信信息失败,请检查设置,'+sqlca.SQLErrText
  2935. Goto ext
  2936. End If
  2937. If li_ifecomm = 0 Then
  2938. rslt = 0
  2939. arg_msg = '客户没有使用电子商务,不能发送单据'
  2940. Goto ext
  2941. End If
  2942. If li_ifecomm = 2 Then
  2943. Select CusCommID
  2944. Into :ll_ReceiveCusCommID
  2945. From LJFIEB_CusComm
  2946. Where CusType = 5 Using commit_transaction;
  2947. If commit_transaction.SQLCode <> 0 Then
  2948. rslt = 0
  2949. arg_msg = '查询电子商务网站通讯连接失败,请先确认已设置电子商务网站通讯连接,'+commit_transaction.SQLErrText
  2950. Goto ext
  2951. End If
  2952. If ll_ReceiveCusCommID = 0 Then
  2953. rslt = 0
  2954. arg_msg = '请先确认已设置电子商务网站通讯连接!'
  2955. Goto ext
  2956. End If
  2957. ElseIf li_ifecomm = 1 Then
  2958. Select CusCommID
  2959. Into :ll_ReceiveCusCommID
  2960. From LJFIEB_CusComm
  2961. Where cuscode = :ls_commcode Using commit_transaction;
  2962. If commit_transaction.SQLCode <> 0 Then
  2963. rslt = 0
  2964. arg_msg = '查询客户相关通信设置失败,'+commit_transaction.SQLErrText
  2965. Goto ext
  2966. End If
  2967. If ll_ReceiveCusCommID = 0 Then
  2968. rslt = 0
  2969. arg_msg = '客户相关的通信设置不正确,请检查'
  2970. Goto ext
  2971. End If
  2972. End If
  2973. String cuscode,cusname
  2974. DateTime reissuedate,opdate,moddate,auditingdate
  2975. String relcode,reissueemp,itemcode,dscrp,opemp,modemp,auditingrep,reissuecode
  2976. Int li_type
  2977. String itemname,banktypename,moneyname
  2978. long cusid
  2979. Select u_cust.cuscode,
  2980. u_cust.name,
  2981. u_reissue.reissuedate,
  2982. u_reissue.relcode,
  2983. u_reissue.reissueemp,
  2984. u_itemdef.itemcode,
  2985. u_reissue.dscrp,
  2986. u_reissue.opemp,
  2987. u_reissue.opdate,
  2988. u_reissue.modemp,
  2989. u_reissue.moddate,
  2990. u_reissue.auditingrep,
  2991. u_reissue.auditingdate,
  2992. u_reissue.reissuecode,
  2993. u_reissue.type,
  2994. u_itemdef.itemname,
  2995. cw_banktype.banktypename,
  2996. cw_currency.name,
  2997. u_cust.cusid
  2998. Into :cuscode,
  2999. :cusname,
  3000. :reissuedate,
  3001. :relcode,
  3002. :reissueemp,
  3003. :itemcode,
  3004. :dscrp,
  3005. :opemp,
  3006. :opdate,
  3007. :modemp,
  3008. :moddate,
  3009. :auditingrep,
  3010. :auditingdate,
  3011. :reissuecode,
  3012. :li_type,
  3013. :itemname,
  3014. :banktypename,
  3015. :moneyname,
  3016. :cusid
  3017. From u_reissue LEFT Outer JOIN
  3018. cw_currency ON u_reissue.moneyid = cw_currency.moneyid LEFT Outer JOIN
  3019. cw_banktype ON u_reissue.relid = cw_banktype.banktypeid LEFT Outer JOIN
  3020. u_itemdef ON u_reissue.itemid = u_itemdef.itemid LEFT Outer JOIN
  3021. u_cust ON u_reissue.cusid = u_cust.cusid
  3022. Where u_reissue.reissueid = :arg_reissueid
  3023. And u_reissue.scid = :arg_scid Using sqlca;
  3024. If sqlca.SQLCode <> 0 Then
  3025. rslt = 0
  3026. arg_msg = '查询客户费用单信息失败,'+sqlca.SQLErrText
  3027. Goto ext
  3028. End If
  3029. Insert Into LJFIEB_reissue
  3030. (serialnum,
  3031. scid,
  3032. reissueid,
  3033. reissuecode,
  3034. cuscode,
  3035. cusname,
  3036. reissuedate,
  3037. banktypename,
  3038. moneyname,
  3039. relcode,
  3040. reissueemp,
  3041. itemcode,
  3042. itemname,
  3043. dscrp,
  3044. opemp,
  3045. opdate,
  3046. modemp,
  3047. moddate,
  3048. auditingrep,
  3049. auditingdate,
  3050. type)
  3051. Values (:ls_SerialNum,
  3052. :arg_scid,
  3053. :arg_reissueid,
  3054. :reissuecode,
  3055. :cuscode,
  3056. :cusname,
  3057. :reissuedate,
  3058. :banktypename,
  3059. :moneyname,
  3060. :relcode,
  3061. :reissueemp,
  3062. :itemcode,
  3063. :itemname,
  3064. :dscrp,
  3065. :opemp,
  3066. :opdate,
  3067. :modemp,
  3068. :moddate,
  3069. :auditingrep,
  3070. :auditingdate,
  3071. :li_type) Using commit_transaction;
  3072. If commit_transaction.SQLCode <> 0 Then
  3073. rslt = 0
  3074. arg_msg = '插入临时客户费用单表失败,'+commit_transaction.SQLErrText
  3075. Goto ext
  3076. End If
  3077. ds_mx.Retrieve(arg_scid,arg_reissueid)
  3078. Long printid
  3079. String ExpensesCode,ExpensesName
  3080. Decimal Qty,amt,price,tax
  3081. String mxdscrp
  3082. For ll_i = 1 To ds_mx.RowCount()
  3083. printid = ds_mx.Object.u_reissuemx_printid[ll_i]
  3084. ExpensesCode = ds_mx.Object.u_expenses_expensescode[ll_i]
  3085. ExpensesName = ds_mx.Object.u_expenses_expensesname[ll_i]
  3086. Qty = ds_mx.Object.u_reissuemx_qty[ll_i]
  3087. amt = ds_mx.Object.u_reissuemx_amt[ll_i]
  3088. price = ds_mx.Object.u_reissuemx_price[ll_i]
  3089. // tax = ds_mx.Object.u_reissuemx_tax[ll_i]
  3090. mxdscrp = ds_mx.Object.u_reissuemx_dscrp[ll_i]
  3091. Insert Into LJFIEB_reissuemx
  3092. (serialnum,
  3093. scid,
  3094. reissueid,
  3095. printid,
  3096. expensescode,
  3097. expensesname,
  3098. qty,
  3099. amt,
  3100. price,
  3101. dscrp)
  3102. Values (:ls_SerialNum,
  3103. :arg_scid,
  3104. :arg_reissueid,
  3105. :printid,
  3106. :expensescode,
  3107. :expensesname,
  3108. :qty,
  3109. :amt,
  3110. :price,
  3111. :mxdscrp) Using commit_transaction;
  3112. If commit_transaction.SQLCode <> 0 Then
  3113. rslt = 0
  3114. arg_msg = '插入临时客户费用单明细表失败,'+commit_transaction.SQLErrText
  3115. Goto ext
  3116. End If
  3117. Next
  3118. String ls_tablename,ls_Summary
  3119. ls_tablename = 'LJFIEB_reissue,LJFIEB_reissuemx'
  3120. If lena(ls_Summary) > 100 Then ls_Summary = LeftA(ls_Summary,90) + '......'
  3121. arg_summary = ls_Summary
  3122. If add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,16,arg_summary,arg_postscript,arg_remark,'',reissuecode,cusid,arg_msg,False) = 0 Then
  3123. rslt = 0
  3124. Goto ext
  3125. End If
  3126. ext:
  3127. If rslt = 0 Then
  3128. Rollback Using commit_transaction;
  3129. ElseIf rslt = 1 And arg_ifcommit Then
  3130. Commit Using commit_transaction;
  3131. End If
  3132. Destroy ds_mx
  3133. Return rslt
  3134. end function
  3135. public function integer send_reissue_spt (long arg_scid, long arg_reissueid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  3136. Long ll_SendCusCommID
  3137. String ls_SendSCcode
  3138. Int li_ifecomm
  3139. String ls_commcode,ls_commsccode
  3140. Long ll_ReceiveCusCommID
  3141. String ls_SerialNum
  3142. Long ll_i
  3143. datastore ds_mx
  3144. ds_mx = Create datastore
  3145. ds_mx.DataObject = 'ds_reissuemx_ljfieb'
  3146. ds_mx.SetTransObject(sqlca)
  3147. Select TOP 1 NEWID() Into :ls_SerialNum
  3148. From u_user Using sqlca;
  3149. If sqlca.SQLCode <> 0 Then
  3150. rslt = 0
  3151. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  3152. Goto ext
  3153. End If
  3154. If IsNull(ls_SerialNum) Then ls_SerialNum = ''
  3155. If ls_SerialNum = '' Then
  3156. rslt = 0
  3157. arg_msg = '错误的发送序列号'
  3158. Goto ext
  3159. End If
  3160. //查询本企业通信信息
  3161. Select CusCommID
  3162. Into :ll_SendCusCommID
  3163. From LJFIEB_CusComm
  3164. Where CusType = 0 Using commit_transaction;
  3165. If commit_transaction.SQLCode <> 0 Then
  3166. rslt = 0
  3167. arg_msg = '查询本企业通信信息失败,请检查设置,'+commit_transaction.SQLErrText
  3168. Goto ext
  3169. End If
  3170. Select sccode
  3171. Into :ls_SendSCcode
  3172. From u_scdef
  3173. Where scid = :arg_scid Using sqlca;
  3174. If sqlca.SQLCode <> 0 Then
  3175. rslt = 0
  3176. arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  3177. Goto ext
  3178. End If
  3179. Select u_spt.ifecomm,
  3180. u_spt.commcode,
  3181. u_spt.commsccode
  3182. Into :li_ifecomm,
  3183. :ls_commcode,
  3184. :ls_commsccode
  3185. From u_reissue LEFT Outer JOIN
  3186. u_spt ON u_reissue.cusid = u_spt.sptid
  3187. Where u_reissue.scid = :arg_scid
  3188. And u_reissue.reissueid = :arg_reissueid Using sqlca;
  3189. If sqlca.SQLCode <> 0 Then
  3190. rslt = 0
  3191. arg_msg = '查询供应商费用单相关供应商通信信息失败,请检查设置,'+sqlca.SQLErrText
  3192. Goto ext
  3193. End If
  3194. If li_ifecomm = 0 Then
  3195. rslt = 0
  3196. arg_msg = '供应商没有使用电子商务,不能发送单据'
  3197. Goto ext
  3198. End If
  3199. Select CusCommID
  3200. Into :ll_ReceiveCusCommID
  3201. From LJFIEB_CusComm
  3202. Where cuscode = :ls_commcode Using commit_transaction;
  3203. If commit_transaction.SQLCode <> 0 Then
  3204. rslt = 0
  3205. arg_msg = '查询客户相关通信设置失败,'+commit_transaction.SQLErrText
  3206. Goto ext
  3207. End If
  3208. If ll_ReceiveCusCommID = 0 Then
  3209. rslt = 0
  3210. arg_msg = '客户相关的通信设置不正确,请检查'
  3211. Goto ext
  3212. End If
  3213. String cuscode,cusname
  3214. DateTime reissuedate,opdate,moddate,auditingdate
  3215. String relcode,reissueemp,itemcode,dscrp,opemp,modemp,auditingrep,reissuecode
  3216. Int li_type
  3217. String itemname,banktypename,moneyname
  3218. Select u_spt.sptcode,
  3219. u_spt.name,
  3220. u_reissue.reissuedate,
  3221. u_reissue.relcode,
  3222. u_reissue.reissueemp,
  3223. u_itemdef.itemcode,
  3224. u_reissue.dscrp,
  3225. u_reissue.opemp,
  3226. u_reissue.opdate,
  3227. u_reissue.modemp,
  3228. u_reissue.moddate,
  3229. u_reissue.auditingrep,
  3230. u_reissue.auditingdate,
  3231. u_reissue.reissuecode,
  3232. u_reissue.type,
  3233. u_itemdef.itemname,
  3234. cw_banktype.banktypename,
  3235. cw_currency.name
  3236. Into :cuscode,
  3237. :cusname,
  3238. :reissuedate,
  3239. :relcode,
  3240. :reissueemp,
  3241. :itemcode,
  3242. :dscrp,
  3243. :opemp,
  3244. :opdate,
  3245. :modemp,
  3246. :moddate,
  3247. :auditingrep,
  3248. :auditingdate,
  3249. :reissuecode,
  3250. :li_type,
  3251. :itemname,
  3252. :banktypename,
  3253. :moneyname
  3254. From u_reissue LEFT Outer JOIN
  3255. cw_currency ON u_reissue.moneyid = cw_currency.moneyid LEFT Outer JOIN
  3256. cw_banktype ON u_reissue.relid = cw_banktype.banktypeid LEFT Outer JOIN
  3257. u_itemdef ON u_reissue.itemid = u_itemdef.itemid LEFT Outer JOIN
  3258. u_spt ON u_reissue.cusid = u_spt.sptid
  3259. Where u_reissue.reissueid = :arg_reissueid
  3260. And u_reissue.scid = :arg_scid Using sqlca;
  3261. If sqlca.SQLCode <> 0 Then
  3262. rslt = 0
  3263. arg_msg = '查询供应商费用单信息失败,'+sqlca.SQLErrText
  3264. Goto ext
  3265. End If
  3266. Insert Into LJFIEB_reissue
  3267. (serialnum,
  3268. scid,
  3269. reissueid,
  3270. reissuecode,
  3271. cuscode,
  3272. cusname,
  3273. reissuedate,
  3274. banktypename,
  3275. moneyname,
  3276. relcode,
  3277. reissueemp,
  3278. itemcode,
  3279. itemname,
  3280. dscrp,
  3281. opemp,
  3282. opdate,
  3283. modemp,
  3284. moddate,
  3285. auditingrep,
  3286. auditingdate,
  3287. type)
  3288. Values (:ls_SerialNum,
  3289. :arg_scid,
  3290. :arg_reissueid,
  3291. :reissuecode,
  3292. :cuscode,
  3293. :cusname,
  3294. :reissuedate,
  3295. :banktypename,
  3296. :moneyname,
  3297. :relcode,
  3298. :reissueemp,
  3299. :itemcode,
  3300. :itemname,
  3301. :dscrp,
  3302. :opemp,
  3303. :opdate,
  3304. :modemp,
  3305. :moddate,
  3306. :auditingrep,
  3307. :auditingdate,
  3308. :li_type) Using commit_transaction;
  3309. If commit_transaction.SQLCode <> 0 Then
  3310. rslt = 0
  3311. arg_msg = '插入临时供应商费用单表失败,'+commit_transaction.SQLErrText
  3312. Goto ext
  3313. End If
  3314. ds_mx.Retrieve(arg_scid,arg_reissueid)
  3315. Long printid
  3316. String ExpensesCode,ExpensesName
  3317. Decimal Qty,amt,price,tax
  3318. String mxdscrp
  3319. For ll_i = 1 To ds_mx.RowCount()
  3320. printid = ds_mx.Object.u_reissuemx_printid[ll_i]
  3321. ExpensesCode = ds_mx.Object.u_expenses_expensescode[ll_i]
  3322. ExpensesName = ds_mx.Object.u_expenses_expensesname[ll_i]
  3323. Qty = ds_mx.Object.u_reissuemx_qty[ll_i]
  3324. amt = ds_mx.Object.u_reissuemx_amt[ll_i]
  3325. price = ds_mx.Object.u_reissuemx_price[ll_i]
  3326. // tax = ds_mx.Object.u_reissuemx_tax[ll_i]
  3327. mxdscrp = ds_mx.Object.u_reissuemx_dscrp[ll_i]
  3328. Insert Into LJFIEB_reissuemx
  3329. (serialnum,
  3330. scid,
  3331. reissueid,
  3332. printid,
  3333. expensescode,
  3334. expensesname,
  3335. qty,
  3336. amt,
  3337. price,
  3338. dscrp)
  3339. Values (:ls_SerialNum,
  3340. :arg_scid,
  3341. :arg_reissueid,
  3342. :printid,
  3343. :expensescode,
  3344. :expensesname,
  3345. :qty,
  3346. :amt,
  3347. :price,
  3348. :mxdscrp) Using commit_transaction;
  3349. If commit_transaction.SQLCode <> 0 Then
  3350. rslt = 0
  3351. arg_msg = '插入临时供应商费用单明细表失败,'+commit_transaction.SQLErrText
  3352. Goto ext
  3353. End If
  3354. Next
  3355. String ls_tablename,ls_Summary
  3356. ls_tablename = 'LJFIEB_reissue,LJFIEB_reissuemx'
  3357. If lena(ls_Summary) > 100 Then ls_Summary = LeftA(ls_Summary,90) + '......'
  3358. arg_summary = ls_Summary
  3359. If add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,21,arg_summary,arg_postscript,arg_remark,'',reissuecode,0,arg_msg,False) = 0 Then
  3360. rslt = 0
  3361. Goto ext
  3362. End If
  3363. ext:
  3364. If rslt = 0 Then
  3365. Rollback Using commit_transaction;
  3366. ElseIf rslt = 1 And arg_ifcommit Then
  3367. Commit Using commit_transaction;
  3368. End If
  3369. Destroy ds_mx
  3370. Return rslt
  3371. end function
  3372. public function integer uof_chk_receive (integer arg_chktype, ref integer arg_ifecomm, ref string arg_msg);//ChkType : 0:自己; 1:供应商; 2:客户; 3:龙嘉网; 4: ; 5:电子商务
  3373. //uof_chk_receive
  3374. Int rslt = 1
  3375. Int li_ifecomm
  3376. String ls_commcode,ls_commsccode
  3377. Long ll_ReceiveCusCommID
  3378. //查询对方企业
  3379. IF arg_chktype = 0 THEN //自己
  3380. ELSEIF arg_chktype = 1 THEN //供应商
  3381. // SELECT SptID.ifecomm,
  3382. // SptID.commcode,
  3383. // SptID.commsccode
  3384. // INTO :li_ifecomm,
  3385. // :ls_commcode,
  3386. // :ls_commsccode
  3387. // FROM u_spt
  3388. // Where SptID = :arg_chkid Using sqlca;
  3389. // IF sqlca.SQLCode <> 0 THEN
  3390. // rslt = 0
  3391. // arg_msg = '查询相关客户通信信息失败,请检查设置,'+sqlca.SQLErrText
  3392. // GOTO ext
  3393. // END IF
  3394. ELSEIF arg_chktype = 2 THEN //客户
  3395. // SELECT u_cust.ifecomm,
  3396. // u_cust.commcode,
  3397. // u_cust.commsccode
  3398. // INTO :li_ifecomm,
  3399. // :ls_commcode,
  3400. // :ls_commsccode
  3401. // FROM u_cust
  3402. // Where CusID = :arg_chkid Using sqlca;
  3403. // IF sqlca.SQLCode <> 0 THEN
  3404. // rslt = 0
  3405. // arg_msg = '查询相关客户通信信息失败,请检查设置,'+sqlca.SQLErrText
  3406. // GOTO ext
  3407. // END IF
  3408. ELSEIF arg_chktype = 3 THEN //龙嘉网
  3409. ELSEIF arg_chktype = 5 THEN //电子商务 网站数据库
  3410. SELECT CusCommID, cuscode
  3411. INTO :ll_ReceiveCusCommID, :ls_commcode
  3412. FROM LJFIEB_CusComm
  3413. Where CusType = 5
  3414. Using commit_transaction;
  3415. IF commit_transaction.SQLCode <> 0 THEN
  3416. arg_ifecomm = 0
  3417. GOTO ext
  3418. END IF
  3419. IF ll_ReceiveCusCommID > 0 THEN
  3420. arg_ifecomm = 1
  3421. END IF
  3422. // SELECT sccode
  3423. // INTO :ls_commsccode
  3424. // FROM u_scdef
  3425. // Where scid = :arg_scid Using sqlca;
  3426. // IF sqlca.SQLCode <> 0 THEN
  3427. // rslt = 0
  3428. // arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  3429. // GOTO ext
  3430. // END IF
  3431. END IF
  3432. ext:
  3433. RETURN rslt
  3434. end function
  3435. public function integer uof_get_receiveinfo (integer arg_chktype, long arg_chkid, ref long arg_receivecuscommid, ref string arg_commsccode, ref string arg_msg);//ChkType : 0:自己; 1:供应商; 2:客户; 3:龙嘉网; 4: ; 5:电子商务
  3436. //uof_get_ReceiveInfo
  3437. Int rslt = 1
  3438. Int li_ifecomm
  3439. String ls_commcode,ls_commsccode
  3440. Long ll_ReceiveCusCommID
  3441. //查询对方企业
  3442. IF arg_chktype = 0 THEN //自己
  3443. ELSEIF arg_chktype = 1 THEN //供应商
  3444. SELECT SptID.ifecomm,
  3445. SptID.commcode,
  3446. SptID.commsccode
  3447. INTO :li_ifecomm,
  3448. :ls_commcode,
  3449. :ls_commsccode
  3450. FROM u_spt
  3451. Where SptID = :arg_chkid Using sqlca;
  3452. IF sqlca.SQLCode <> 0 THEN
  3453. rslt = 0
  3454. arg_msg = '查询相关客户通信信息失败,请检查设置,'+sqlca.SQLErrText
  3455. GOTO ext
  3456. END IF
  3457. ELSEIF arg_chktype = 2 THEN //客户
  3458. SELECT u_cust.ifecomm,
  3459. u_cust.commcode,
  3460. u_cust.commsccode
  3461. INTO :li_ifecomm,
  3462. :ls_commcode,
  3463. :ls_commsccode
  3464. FROM u_cust
  3465. Where CusID = :arg_chkid Using sqlca;
  3466. IF sqlca.SQLCode <> 0 THEN
  3467. rslt = 0
  3468. arg_msg = '查询相关客户通信信息失败,请检查设置,'+sqlca.SQLErrText
  3469. GOTO ext
  3470. END IF
  3471. ELSEIF arg_chktype = 3 THEN //龙嘉网
  3472. ELSEIF arg_chktype = 5 THEN //电子商务 网站数据库
  3473. SELECT CusCommID, cuscode
  3474. INTO :ll_ReceiveCusCommID, :ls_commcode
  3475. FROM LJFIEB_CusComm
  3476. Where CusType = 5 Using commit_transaction;
  3477. IF commit_transaction.SQLCode <> 0 THEN
  3478. rslt = 0
  3479. arg_msg = '查询电子商务服务信息失败,请检查设置,'+commit_transaction.SQLErrText
  3480. GOTO ext
  3481. END IF
  3482. IF ll_ReceiveCusCommID > 0 THEN
  3483. li_ifecomm = 1
  3484. END IF
  3485. // SELECT sccode
  3486. // INTO :ls_commsccode
  3487. // FROM u_scdef
  3488. // Where scid = :arg_scid Using sqlca;
  3489. // IF sqlca.SQLCode <> 0 THEN
  3490. // rslt = 0
  3491. // arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  3492. // GOTO ext
  3493. // END IF
  3494. END IF
  3495. IF li_ifecomm = 0 THEN
  3496. rslt = 0
  3497. IF arg_chktype = 1 THEN //供应商
  3498. arg_msg = '供应商没有使用电子商务,不能发送数据'
  3499. ELSEIF arg_chktype = 2 THEN //客户
  3500. arg_msg = '客户没有使用电子商务,不能发送数据'
  3501. ELSEIF arg_chktype = 5 THEN //电子商务
  3502. arg_msg = '电子商务服务未设置,不能发送数据'
  3503. ELSE
  3504. arg_msg = '对方没有使用电子商务,不能发送数据'
  3505. END IF
  3506. GOTO ext
  3507. END IF
  3508. SELECT CusCommID
  3509. INTO :ll_ReceiveCusCommID
  3510. FROM LJFIEB_CusComm
  3511. Where cuscode = :ls_commcode Using commit_transaction;
  3512. IF commit_transaction.SQLCode <> 0 THEN
  3513. rslt = 0
  3514. arg_msg = '查询客户相关通信设置失败,'+commit_transaction.SQLErrText
  3515. GOTO ext
  3516. END IF
  3517. IF ll_ReceiveCusCommID = 0 THEN
  3518. rslt = 0
  3519. IF arg_chktype = 1 THEN //供应商
  3520. arg_msg = '供应商相关的通信设置不正确,请检查'
  3521. ELSEIF arg_chktype = 2 THEN //客户
  3522. arg_msg = '客户相关的通信设置不正确,请检查'
  3523. ELSEIF arg_chktype = 5 THEN //电子商务
  3524. arg_msg = '电子商务服务设置不正确,请检查'
  3525. ELSE
  3526. arg_msg = '对方相关的通信设置不正确,请检查'
  3527. END IF
  3528. GOTO ext
  3529. END IF
  3530. arg_ReceiveCusCommID = ll_ReceiveCusCommID
  3531. arg_commsccode = ls_commsccode
  3532. ext:
  3533. RETURN rslt
  3534. end function
  3535. public function integer uof_get_selfinfo (long arg_scid, ref long arg_sendcuscommid, ref string arg_sendsccode, ref string arg_msg);//uof_get_SendInfo
  3536. Int rslt = 1
  3537. Long ll_SendCusCommID
  3538. String ls_SendSCcode
  3539. //查询本企业通信信息
  3540. SELECT CusCommID
  3541. INTO :ll_SendCusCommID
  3542. FROM LJFIEB_CusComm
  3543. Where CusType = 0 Using commit_transaction;
  3544. IF commit_transaction.SQLCode <> 0 THEN
  3545. rslt = 0
  3546. arg_msg = '查询本企业通信信息失败,请检查设置,'+commit_transaction.SQLErrText
  3547. GOTO ext
  3548. END IF
  3549. SELECT sccode
  3550. INTO :ls_SendSCcode
  3551. FROM u_scdef
  3552. Where scid = :arg_scid Using sqlca;
  3553. IF sqlca.SQLCode <> 0 THEN
  3554. rslt = 0
  3555. arg_msg = '查询分部代号失败,请检查设置,'+sqlca.SQLErrText
  3556. GOTO ext
  3557. END IF
  3558. arg_sendcuscommid = ll_SendCusCommID
  3559. arg_sendsccode = ls_SendSCcode
  3560. ext:
  3561. return rslt
  3562. end function
  3563. public function string uof_get_serialnum ();String ls_SerialNum
  3564. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  3565. From u_user Using sqlca;
  3566. IF sqlca.SQLCode <> 0 THEN
  3567. ls_SerialNum = ""
  3568. END IF
  3569. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  3570. RETURN ls_SerialNum
  3571. end function
  3572. public function integer send_mtrltype (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, long arg_mtrltypeid[], ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  3573. Long ll_i
  3574. String ls_SerialNum,ls_tablename
  3575. datastore ds_mtrltype
  3576. ds_mtrltype = Create datastore
  3577. ds_mtrltype.DataObject = 'ds_mtrltype_propel_ljfieb'
  3578. ds_mtrltype.SetTransObject(sqlca)
  3579. Select TOP 1 NEWID() Into :ls_SerialNum
  3580. From u_user Using sqlca;
  3581. If sqlca.SQLCode <> 0 Then
  3582. rslt = 0
  3583. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  3584. Goto ext
  3585. End If
  3586. If IsNull(ls_SerialNum) Then ls_SerialNum = ''
  3587. If ls_SerialNum = '' Then
  3588. rslt = 0
  3589. arg_msg = '错误的发送序列号'
  3590. Goto ext
  3591. End If
  3592. If UpperBound(arg_mtrltypeid) = 0 Then
  3593. rslt = 0
  3594. arg_msg = '没有可发送的内容'
  3595. Goto ext
  3596. End If
  3597. ds_mtrltype.Retrieve(arg_mtrltypeid)
  3598. If ds_mtrltype.RowCount() <= 0 Then
  3599. rslt = 0
  3600. arg_msg = '没有查询到可发送的物料类别'
  3601. Goto ext
  3602. End If
  3603. Long mtrltypeid
  3604. String mtrltype,handtype
  3605. Long sonflag,parentid,mtrlprp
  3606. String typecode,typecodestr
  3607. For ll_i = 1 To ds_mtrltype.RowCount()
  3608. mtrltypeid = ds_mtrltype.Object.mtrltypeid[ll_i]
  3609. mtrltype = ds_mtrltype.Object.mtrltype[ll_i]
  3610. handtype = ds_mtrltype.Object.handtype[ll_i]
  3611. sonflag = ds_mtrltype.Object.sonflag[ll_i]
  3612. parentid = ds_mtrltype.Object.parentid[ll_i]
  3613. mtrlprp = ds_mtrltype.Object.mtrlprp[ll_i]
  3614. typecode = ds_mtrltype.Object.typecode[ll_i]
  3615. typecodestr = ds_mtrltype.Object.typecodestr[ll_i]
  3616. Insert Into LJFIEB_mtrltype
  3617. (mtrltypeid,
  3618. mtrltype,
  3619. handtype,
  3620. sonflag,
  3621. parentid,
  3622. mtrlprp,
  3623. typecode,
  3624. typecodestr,
  3625. serialnum)
  3626. Values (:mtrltypeid,
  3627. :mtrltype,
  3628. :handtype,
  3629. :sonflag,
  3630. :parentid,
  3631. :mtrlprp,
  3632. :typecode,
  3633. :typecodestr,
  3634. :ls_SerialNum) Using commit_transaction;
  3635. If commit_transaction.SQLCode <> 0 Then
  3636. rslt = 0
  3637. arg_msg = '插入临时物料类别表失败,'+commit_transaction.SQLErrText
  3638. Goto ext
  3639. End If
  3640. Next
  3641. ls_tablename = 'LJFIEB_mtrltype'
  3642. If add_packet(ls_SerialNum,ls_tablename,arg_sendcuscommid,arg_sendsccode,arg_receivecuscommid,arg_receivesccode,22,'','','','','',0,arg_msg,False) = 0 Then
  3643. rslt = 0
  3644. Goto ext
  3645. End If
  3646. ext:
  3647. If rslt = 0 Then
  3648. Rollback Using commit_transaction;
  3649. ElseIf rslt = 1 And arg_ifcommit Then
  3650. Commit Using commit_transaction;
  3651. End If
  3652. destroy ds_mtrltype
  3653. Return rslt
  3654. end function
  3655. public function integer send_post (long arg_sendcuscommid, string arg_sendsccode, long arg_receivecuscommid, string arg_receivesccode, s_post_ljfieb arg_s_post, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  3656. Long ll_i
  3657. String ls_SerialNum,ls_tablename
  3658. Select TOP 1 NEWID() Into :ls_SerialNum
  3659. From u_user Using sqlca;
  3660. If sqlca.SQLCode <> 0 Then
  3661. rslt = 0
  3662. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  3663. Goto ext
  3664. End If
  3665. If IsNull(ls_SerialNum) Then ls_SerialNum = ''
  3666. If ls_SerialNum = '' Then
  3667. rslt = 0
  3668. arg_msg = '错误的发送序列号'
  3669. Goto ext
  3670. End If
  3671. If arg_s_post.postid = 0 Then
  3672. rslt = 0
  3673. arg_msg = '没有发送的公告内容'
  3674. Goto ext
  3675. End If
  3676. Insert Into LJFIEB_sys_post
  3677. (serialnum,
  3678. CusCommID,
  3679. postid,
  3680. sdate,
  3681. edate,
  3682. dscrp,
  3683. opemp,
  3684. opdate,
  3685. areaname,
  3686. sys_changetime)
  3687. Values (:ls_SerialNum,
  3688. :arg_sendcuscommid,
  3689. :arg_s_post.postid,
  3690. :arg_s_post.sdate,
  3691. :arg_s_post.edate,
  3692. :arg_s_post.dscrp,
  3693. :arg_s_post.opemp,
  3694. :arg_s_post.opdate,
  3695. :arg_s_post.areaname,
  3696. getdate())Using commit_transaction;
  3697. If commit_transaction.SQLCode <> 0 Then
  3698. rslt = 0
  3699. arg_msg = '插入临时公告表失败,'+commit_transaction.SQLErrText
  3700. Goto ext
  3701. End If
  3702. ls_tablename = 'LJFIEB_sys_post'
  3703. If add_packet(ls_SerialNum,ls_tablename,arg_sendcuscommid,arg_sendsccode,arg_receivecuscommid,arg_receivesccode,8,'','','','','',0,arg_msg,False) = 0 Then
  3704. rslt = 0
  3705. Goto ext
  3706. End If
  3707. ext:
  3708. If rslt = 0 Then
  3709. Rollback Using commit_transaction;
  3710. ElseIf rslt = 1 And arg_ifcommit Then
  3711. Commit Using commit_transaction;
  3712. End If
  3713. Return rslt
  3714. end function
  3715. public function integer send_cust (long arg_scid, long arg_cusid_arr[], string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  3716. String ls_summary
  3717. Long ll_SendCusCommID
  3718. String ls_SendSCcode
  3719. String ls_commsccode
  3720. Long ll_ReceiveCusCommID
  3721. String ls_SerialNum
  3722. Long ll_i
  3723. //查询序列号
  3724. ls_SerialNum = uof_get_serialnum()
  3725. IF ls_SerialNum = '' THEN
  3726. rslt = 0
  3727. arg_msg = '错误的发送序列号'
  3728. GOTO ext
  3729. END IF
  3730. //查询本企业通信信息
  3731. IF uof_get_SelfInfo(arg_scid, ll_SendCusCommID, ls_SendSCcode, arg_msg) = 0 THEN
  3732. rslt = 0
  3733. GOTO ext
  3734. END IF
  3735. //查询对方通信信息
  3736. IF uof_get_ReceiveInfo(5, 0, ll_ReceiveCusCommID, ls_commsccode, arg_msg) = 0 THEN
  3737. rslt = 0
  3738. GOTO ext
  3739. END IF
  3740. Long ll_cusid
  3741. Long ll_maxmtnum, ll_pricelistid,ll_cusareaid, ll_state, ll_peoplenum, ll_viewdaynum, ll_banktypeid, ll_styleid, ll_moneyid,ll_transday
  3742. Decimal lde_givebackrate, lde_saleamt,lde_rebate
  3743. DateTime ldt_opdate,ldt_modate, ldt_auditdate
  3744. Integer li_ifself, li_ifecomm, li_inuse
  3745. String ls_cuscode, ls_name, ls_custype, ls_rep, ls_tele, ls_tele1, ls_bank, ls_cunt, ls_address, ls_code, ls_dscrp
  3746. String ls_faxno, ls_opemp, ls_cusareaname
  3747. String ls_areaname , ls_email, ls_freight, ls_freight_tele, ls_upname, ls_modemp
  3748. String ls_mainmarket, ls_nethttp, ls_trade, ls_corporation, ls_grade
  3749. String ls_cuskind, ls_sinplename,ls_subid, ls_tele_sms
  3750. String ls_auditemp, ls_commcode, ls_commsccode_cus
  3751. int li_ifsecaudit
  3752. FOR ll_i = 1 To UpperBound(arg_cusid_arr)
  3753. ll_cusid = arg_cusid_arr[ll_i]
  3754. SELECT cuscode, name, custype, rep, tele, tele1, bank, cunt, address, code, dscrp,
  3755. faxno, maxmtnum, pricelistid, inuse, opdate, opemp, cusareaid, cusareaname,
  3756. areaname, email, givebackrate, freight, freight_tele, upname, moddate, modemp,
  3757. state, peoplenum, mainmarket, saleamt, nethttp, trade, corporation, grade, ifself,
  3758. cuskind, simplename, viewdaynum, subid, tele_sms, banktypeid, 0 as styleid, moneyid,
  3759. '' as auditemp, null as auditdate, 0 as rebate, 0 as transday, ifecomm, commcode, commsccode, 0 as ifsecaudit
  3760. INTO :ls_cuscode, :ls_name, :ls_custype, :ls_rep, :ls_tele, :ls_tele1, :ls_bank, :ls_cunt, :ls_address, :ls_code, :ls_dscrp,
  3761. :ls_faxno, :ll_maxmtnum, :ll_pricelistid, :li_inuse, :ldt_opdate, :ls_opemp, :ll_cusareaid, :ls_cusareaname,
  3762. :ls_areaname , :ls_email, :lde_givebackrate, :ls_freight, :ls_freight_tele, :ls_upname, :ldt_modate, :ls_modemp,
  3763. :ll_state, :ll_peoplenum, :ls_mainmarket, :lde_saleamt, :ls_nethttp, :ls_trade, :ls_corporation, :ls_grade, :li_ifself,
  3764. :ls_cuskind, :ls_sinplename, :ll_viewdaynum, :ls_subid, :ls_tele_sms, :ll_banktypeid, :ll_styleid, :ll_moneyid,
  3765. :ls_auditemp, :ldt_auditdate, :lde_rebate, :ll_transday, :li_ifecomm, :ls_commcode, :ls_commsccode_cus,:li_ifsecaudit
  3766. FROM u_cust
  3767. WHERE cusid = :ll_cusid
  3768. Using sqlca;
  3769. IF sqlca.SQLCode <> 0 THEN
  3770. rslt = 0
  3771. arg_msg = '查询信息失败,'+sqlca.SQLErrText
  3772. GOTO ext
  3773. END IF
  3774. INSERT INTO ros_cust
  3775. (cusid, cuscode, name, custype, rep, tele, tele1, bank, cunt, address, code, dscrp,
  3776. faxno, maxmtnum, pricelistid, inuse, opdate, opemp, cusareaid, cusareaname,
  3777. areaname, email, givebackrate, freight, freight_tele, upname, moddate, modemp,
  3778. state, peoplenum, mainmarket, saleamt, nethttp, trade, corporation, grade, ifself,
  3779. cuskind, simplename, viewdaynum, subid, tele_sms, banktypeid, styleid, moneyid,
  3780. auditemp, auditdate, rebate, transday, ifecomm, commcode, commsccode, serialnum,ifsecaudit)
  3781. VALUES ( :ll_cusid, :ls_cuscode, :ls_name, :ls_custype, :ls_rep, :ls_tele, :ls_tele1, :ls_bank, :ls_cunt, :ls_address, :ls_code, :ls_dscrp,
  3782. :ls_faxno, :ll_maxmtnum, :ll_pricelistid, :li_inuse, :ldt_opdate, :ls_opemp, :ll_cusareaid, :ls_cusareaname,
  3783. :ls_areaname , :ls_email, :lde_givebackrate, :ls_freight, :ls_freight_tele, :ls_upname, :ldt_modate, :ls_modemp,
  3784. :ll_state, :ll_peoplenum, :ls_mainmarket, :lde_saleamt, :ls_nethttp, :ls_trade, :ls_corporation, :ls_grade, :li_ifself,
  3785. :ls_cuskind, :ls_sinplename, :ll_viewdaynum, :ls_subid, :ls_tele_sms, :ll_banktypeid, :ll_styleid, :ll_moneyid,
  3786. :ls_auditemp, :ldt_auditdate, :lde_rebate, :ll_transday, :li_ifecomm, :ls_commcode, :ls_commsccode_cus, :ls_SerialNum,:li_ifsecaudit)
  3787. Using commit_transaction;
  3788. IF commit_transaction.SQLCode <> 0 THEN
  3789. rslt = 0
  3790. arg_msg = '插入临时表失败,'+commit_transaction.SQLErrText
  3791. GOTO ext
  3792. END IF
  3793. NEXT
  3794. String ls_tablename
  3795. ls_tablename = 'ros_cust'
  3796. IF lena(ls_summary) > 100 THEN ls_summary = LeftA(ls_summary,90) + '......'
  3797. arg_summary = ls_summary
  3798. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,9,arg_summary,arg_postscript,arg_remark,'','',0,arg_msg,False) = 0 THEN
  3799. rslt = 0
  3800. GOTO ext
  3801. END IF
  3802. ext:
  3803. IF rslt = 0 THEN
  3804. ROLLBACK Using commit_transaction;
  3805. ELSEIF rslt = 1 And arg_ifcommit THEN
  3806. COMMIT Using commit_transaction;
  3807. END IF
  3808. RETURN rslt
  3809. end function
  3810. public function integer send_cust_rep (long arg_scid, long arg_repid_arr[], string arg_summary, string arg_postscript, string arg_remark, boolean arg_setpwd, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  3811. String ls_summary
  3812. Long ll_SendCusCommID
  3813. String ls_SendSCcode
  3814. String ls_commsccode
  3815. Long ll_ReceiveCusCommID
  3816. String ls_SerialNum
  3817. Long ll_i
  3818. //查询序列号
  3819. ls_SerialNum = uof_get_serialnum()
  3820. IF ls_SerialNum = '' THEN
  3821. rslt = 0
  3822. arg_msg = '错误的发送序列号'
  3823. GOTO ext
  3824. END IF
  3825. //查询本企业通信信息
  3826. IF uof_get_SelfInfo(arg_scid, ll_SendCusCommID, ls_SendSCcode, arg_msg) = 0 THEN
  3827. rslt = 0
  3828. GOTO ext
  3829. END IF
  3830. //查询对方通信信息
  3831. IF uof_get_ReceiveInfo(5, 0, ll_ReceiveCusCommID, ls_commsccode, arg_msg) = 0 THEN
  3832. rslt = 0
  3833. GOTO ext
  3834. END IF
  3835. Long ll_repid
  3836. Long ll_cusid
  3837. Integer li_reptype
  3838. DateTime ldt_opdate, ldt_moddate
  3839. String ls_repname, ls_duty, ls_sex, ls_officetel, ls_handtel, ls_faxno, ls_email, ls_dscrp, ls_deptname
  3840. String ls_interest, ls_mainproduct, ls_opemp, ls_modemp, ls_qqcode, ls_msncode, ls_address
  3841. String ls_Permissions, ls_password, ls_loginname
  3842. FOR ll_i = 1 To UpperBound(arg_repid_arr)
  3843. ll_repid = arg_repid_arr[ll_i]
  3844. SELECT cusid, repname, duty, sex, officetel, handtel, faxno, email, dscrp, deptname,
  3845. interest, mainproduct, opdate, opemp, moddate, modemp, qqcode, msncode, address,
  3846. Permissions, password, loginname, reptype
  3847. INTO :ll_cusid, :ls_repname, :ls_duty, :ls_sex, :ls_officetel, :ls_handtel, :ls_faxno, :ls_email, :ls_dscrp, :ls_deptname,
  3848. :ls_interest, :ls_mainproduct, :ldt_opdate, :ls_opemp, :ldt_moddate, :ls_modemp, :ls_qqcode, :ls_msncode, :ls_address,
  3849. :ls_Permissions, :ls_password, :ls_loginname, :li_reptype
  3850. FROM ros_cust_rep
  3851. WHERE repid = :ll_repid
  3852. Using sqlca;
  3853. IF sqlca.SQLCode <> 0 THEN
  3854. rslt = 0
  3855. arg_msg = '查询信息失败,'+sqlca.SQLErrText
  3856. GOTO ext
  3857. END IF
  3858. IF Not arg_setpwd THEN //不传送密码
  3859. ls_password = ""
  3860. END IF
  3861. INSERT INTO ros_cust_rep
  3862. (repid, cusid, repname, duty, sex, officetel, handtel, faxno, email, dscrp, deptname,
  3863. interest, mainproduct, opdate, opemp, moddate, modemp, qqcode, msncode, address,
  3864. Permissions, password, loginname, reptype, serialnum)
  3865. VALUES (:ll_repid, :ll_cusid, :ls_repname, :ls_duty, :ls_sex, :ls_officetel, :ls_handtel, :ls_faxno, :ls_email, :ls_dscrp, :ls_deptname,
  3866. :ls_interest, :ls_mainproduct, :ldt_opdate, :ls_opemp, :ldt_moddate, :ls_modemp, :ls_qqcode, :ls_msncode, :ls_address,
  3867. :ls_Permissions, :ls_password, :ls_loginname, :li_reptype, :ls_SerialNum)
  3868. Using commit_transaction;
  3869. IF commit_transaction.SQLCode <> 0 THEN
  3870. rslt = 0
  3871. arg_msg = '插入临时表失败,'+commit_transaction.SQLErrText
  3872. GOTO ext
  3873. END IF
  3874. NEXT
  3875. String ls_tablename
  3876. ls_tablename = 'ros_cust_rep'
  3877. IF lena(ls_summary) > 100 THEN ls_summary = LeftA(ls_summary,90) + '......'
  3878. arg_summary = ls_summary
  3879. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,9,arg_summary,arg_postscript,arg_remark,'','',0,arg_msg,False) = 0 THEN
  3880. rslt = 0
  3881. GOTO ext
  3882. END IF
  3883. ext:
  3884. IF rslt = 0 THEN
  3885. ROLLBACK Using commit_transaction;
  3886. ELSEIF rslt = 1 And arg_ifcommit THEN
  3887. COMMIT Using commit_transaction;
  3888. END IF
  3889. RETURN rslt
  3890. end function
  3891. public function integer send_funcpwreb (long arg_scid, long arg_cusid, string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);//send_FuncPwrEB 发送电子商务权限
  3892. Int rslt = 1
  3893. String ls_summary
  3894. Long ll_SendCusCommID
  3895. String ls_SendSCcode
  3896. String ls_commsccode
  3897. Long ll_ReceiveCusCommID
  3898. String ls_SerialNum
  3899. Long ll_i
  3900. datastore ds, ds1
  3901. ds = Create datastore
  3902. ds1 = Create datastore
  3903. //查询序列号
  3904. ls_SerialNum = uof_get_serialnum()
  3905. IF ls_SerialNum = '' THEN
  3906. rslt = 0
  3907. arg_msg = '错误的发送序列号'
  3908. GOTO ext
  3909. END IF
  3910. //ll_SendCusCommID = 11
  3911. //ls_SendSCcode = "00"
  3912. //ll_ReceiveCusCommID = 12
  3913. //ls_commsccode = "01"
  3914. //查询本企业通信信息
  3915. IF uof_get_SelfInfo(arg_scid, ll_SendCusCommID, ls_SendSCcode, arg_msg) = 0 THEN
  3916. rslt = 0
  3917. GOTO ext
  3918. END IF
  3919. //查询对方企业
  3920. IF uof_get_ReceiveInfo(5, 0, ll_ReceiveCusCommID, ls_commsccode, arg_msg) = 0 THEN
  3921. rslt = 0
  3922. GOTO ext
  3923. END IF
  3924. ds.DataObject = "ds_func_pwr_eb"
  3925. Long i
  3926. Long ll_funcid
  3927. Long ll_parentid
  3928. Long ll_mainid
  3929. Long ll_functype
  3930. String ll_treename
  3931. String ll_menuname
  3932. Long ll_if_use
  3933. Long ll_sortflag
  3934. Long ll_ebtype
  3935. String ll_SerialNum
  3936. FOR i = 1 To ds.RowCount()
  3937. ll_funcid = ds.Object.funcid[i]
  3938. ll_parentid = ds.Object.parentid[i]
  3939. ll_mainid = ds.Object.mainid[i]
  3940. ll_functype = ds.Object.functype[i]
  3941. ll_treename = ds.Object.treename[i]
  3942. ll_menuname = ds.Object.MenuName[i]
  3943. ll_if_use = ds.Object.if_use[i]
  3944. ll_sortflag = ds.Object.sortflag[i]
  3945. ll_ebtype = ds.Object.ebtype[i]
  3946. ll_SerialNum = ls_SerialNum
  3947. INSERT INTO sys_func_pwr_eb
  3948. (funcid, parentid, mainid, functype, treename, menuname, if_use, sortflag, ebtype, SerialNum)
  3949. VALUES (:ll_funcid,:ll_parentid,:ll_mainid,:ll_functype,:ll_treename,:ll_menuname,:ll_if_use,:ll_sortflag,:ll_ebtype,:ll_SerialNum)
  3950. Using commit_transaction;
  3951. IF commit_transaction.SQLCode <> 0 THEN
  3952. rslt = 0
  3953. arg_msg = '插入权限信息失败,' + commit_transaction.SQLErrText
  3954. GOTO ext
  3955. END IF
  3956. NEXT
  3957. String ls_tablename
  3958. ls_tablename = 'sys_func_pwr_eb'
  3959. IF lena(ls_summary) > 100 THEN ls_summary = LeftA(ls_summary,90) + '......'
  3960. arg_summary = ls_summary
  3961. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,9,arg_summary,arg_postscript,arg_remark,'','',0,arg_msg,False) = 0 THEN
  3962. rslt = 0
  3963. GOTO ext
  3964. END IF
  3965. ext:
  3966. IF rslt = 0 THEN
  3967. ROLLBACK Using commit_transaction;
  3968. ELSEIF rslt = 1 And arg_ifcommit THEN
  3969. COMMIT Using commit_transaction;
  3970. END IF
  3971. Destroy ds
  3972. Destroy ds1
  3973. RETURN rslt
  3974. end function
  3975. public function integer send_cust_rep_cm (long arg_scid, long arg_repid, string arg_ljemail_arr[], string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  3976. String ls_summary
  3977. Long ll_SendCusCommID
  3978. String ls_SendSCcode
  3979. String ls_commsccode
  3980. Long ll_ReceiveCusCommID
  3981. String ls_SerialNum
  3982. Long ll_i
  3983. //查询序列号
  3984. ls_SerialNum = uof_get_serialnum()
  3985. IF ls_SerialNum = '' THEN
  3986. rslt = 0
  3987. arg_msg = '错误的发送序列号'
  3988. GOTO ext
  3989. END IF
  3990. //查询本企业通信信息
  3991. IF uof_get_SelfInfo(arg_scid, ll_SendCusCommID, ls_SendSCcode, arg_msg) = 0 THEN
  3992. rslt = 0
  3993. GOTO ext
  3994. END IF
  3995. //查询对方通信信息
  3996. IF uof_get_ReceiveInfo(5, 0, ll_ReceiveCusCommID, ls_commsccode, arg_msg) = 0 THEN
  3997. rslt = 0
  3998. GOTO ext
  3999. END IF
  4000. Long ll_repid
  4001. string ls_ljemail, ls_username, ls_dscrp
  4002. Integer li_cmtype
  4003. ll_repid = arg_repid
  4004. FOR ll_i = 1 To UpperBound(arg_ljemail_arr)
  4005. ls_ljemail = arg_ljemail_arr[ll_i]
  4006. SELECT username, cmtype, dscrp
  4007. INTO :ls_username, :li_cmtype, :ls_dscrp
  4008. FROM ros_cust_rep_CM
  4009. WHERE repid = :ll_repid
  4010. and ljemail = :ls_ljemail
  4011. Using sqlca;
  4012. IF sqlca.SQLCode <> 0 THEN
  4013. rslt = 0
  4014. arg_msg = '查询信息失败,'+sqlca.SQLErrText
  4015. GOTO ext
  4016. END IF
  4017. INSERT INTO ros_cust_rep_CM
  4018. (repid, ljemail, username, cmtype, dscrp, serialnum)
  4019. VALUES (:ll_repid, :ls_ljemail, :ls_username, :li_cmtype, :ls_dscrp, :ls_SerialNum)
  4020. Using commit_transaction;
  4021. IF commit_transaction.SQLCode <> 0 THEN
  4022. rslt = 0
  4023. arg_msg = '插入临时表失败,'+commit_transaction.SQLErrText
  4024. GOTO ext
  4025. END IF
  4026. NEXT
  4027. String ls_tablename
  4028. ls_tablename = 'ros_cust_rep_CM'
  4029. IF lena(ls_summary) > 100 THEN ls_summary = LeftA(ls_summary,90) + '......'
  4030. arg_summary = ls_summary
  4031. IF add_packet(ls_SerialNum,ls_tablename,ll_SendCusCommID,ls_SendSCcode,ll_ReceiveCusCommID,ls_commsccode,9,arg_summary,arg_postscript,arg_remark,'','',0,arg_msg,False) = 0 THEN
  4032. rslt = 0
  4033. GOTO ext
  4034. END IF
  4035. ext:
  4036. IF rslt = 0 THEN
  4037. ROLLBACK Using commit_transaction;
  4038. ELSEIF rslt = 1 And arg_ifcommit THEN
  4039. COMMIT Using commit_transaction;
  4040. END IF
  4041. RETURN rslt
  4042. end function
  4043. public function integer send_web_option (ref string arg_msg);Int rslt = 1
  4044. Long ll_sendcuscommid
  4045. Long ll_commid_ec
  4046. SELECT CusCommID
  4047. INTO :ll_sendcuscommid
  4048. FROM LJFIEB_CusComm
  4049. Where CusType = 0 Using commit_transaction;
  4050. IF commit_transaction.SQLCode <> 0 THEN
  4051. rslt = 0
  4052. arg_msg = '查询本公司企业编号失败,'+commit_transaction.SQLErrText
  4053. GOTO ext
  4054. END IF
  4055. SELECT CusCommID
  4056. INTO :ll_commid_ec
  4057. FROM LJFIEB_CusComm
  4058. Where CusType = 5 Using commit_transaction;
  4059. IF commit_transaction.SQLCode <> 0 THEN
  4060. rslt = 0
  4061. arg_msg = '查询电子商务网站通讯连接失败,请先确认已设置电子商务网站通讯连接'+commit_transaction.SQLErrText
  4062. GOTO ext
  4063. END IF
  4064. String ls_serialnum
  4065. SELECT top 1 newid()
  4066. INTO :ls_serialnum
  4067. From u_user;
  4068. IF sqlca.SQLCode <> 0 THEN
  4069. rslt = 0
  4070. arg_msg = '查询通信ID失败,' + sqlca.SQLErrText
  4071. GOTO ext
  4072. END IF
  4073. String arr_optionid[]
  4074. arr_optionid[1] = '041'
  4075. arr_optionid[2] = '042'
  4076. arr_optionid[3] = '128'
  4077. arr_optionid[4] = '029'
  4078. arr_optionid[5] = '027'
  4079. arr_optionid[6] = '028'
  4080. string arr_optionid_ew[]
  4081. arr_optionid_ew[1] = '012'
  4082. arr_optionid_ew[2] = '013'
  4083. arr_optionid_ew[3] = '-1'
  4084. arr_optionid_ew[4] = '029'
  4085. arr_optionid_ew[5] = '027'
  4086. arr_optionid_ew[6] = '028'
  4087. Long cnt = 0
  4088. String ls_optionname, ls_optionvalue
  4089. Long i
  4090. FOR i = 1 To UpperBound(arr_optionid)
  4091. SELECT optionname, optionvalue
  4092. INTO :ls_optionname, :ls_optionvalue
  4093. FROM sys_option
  4094. Where optionid = :arr_optionid_ew[i];
  4095. IF sqlca.SQLCode <> 0 THEN
  4096. CONTINUE
  4097. END IF
  4098. INSERT INTO LJFIEB_option(optionid, optionname, optionvalue, SerialNum)
  4099. VALUES(:arr_optionid[i], :ls_optionname, :ls_optionvalue, :ls_serialnum)
  4100. Using commit_transaction;
  4101. IF commit_transaction.SQLCode <> 0 THEN
  4102. rslt = 0
  4103. arg_msg = '插入选项通信表失败,' + commit_transaction.SQLErrText
  4104. GOTO ext
  4105. END IF
  4106. cnt++
  4107. NEXT
  4108. IF cnt > 0 THEN
  4109. String ls_tablename
  4110. ls_tablename = 'LJFIEB_option'
  4111. IF add_packet(ls_serialnum,ls_tablename,ll_sendcuscommid,'',ll_commid_ec,'',24,'','','','','',0,arg_msg,False) = 0 THEN
  4112. rslt = 0
  4113. GOTO ext
  4114. END IF
  4115. END IF
  4116. ext:
  4117. IF rslt = 1 THEN
  4118. COMMIT Using commit_transaction;
  4119. ELSE
  4120. ROLLBACK Using commit_transaction;
  4121. END IF
  4122. RETURN rslt
  4123. end function
  4124. public function integer send_web_scdef (ref string arg_msg);Int rslt = 1
  4125. Long ll_sendcuscommid
  4126. Long ll_commid_ec
  4127. SELECT CusCommID
  4128. INTO :ll_sendcuscommid
  4129. FROM LJFIEB_CusComm
  4130. Where CusType = 0 Using commit_transaction;
  4131. IF commit_transaction.SQLCode <> 0 THEN
  4132. rslt = 0
  4133. arg_msg = '查询本公司企业编号失败,'+commit_transaction.SQLErrText
  4134. GOTO ext
  4135. END IF
  4136. SELECT CusCommID
  4137. INTO :ll_commid_ec
  4138. FROM LJFIEB_CusComm
  4139. Where CusType = 5 Using commit_transaction;
  4140. IF commit_transaction.SQLCode <> 0 THEN
  4141. rslt = 0
  4142. arg_msg = '查询电子商务网站通讯连接失败,请先确认已设置电子商务网站通讯连接'+commit_transaction.SQLErrText
  4143. GOTO ext
  4144. END IF
  4145. String ls_serialnum
  4146. SELECT top 1 newid()
  4147. INTO :ls_serialnum
  4148. From u_user;
  4149. IF sqlca.SQLCode <> 0 THEN
  4150. rslt = 0
  4151. arg_msg = '查询通信ID失败,' + sqlca.SQLErrText
  4152. GOTO ext
  4153. END IF
  4154. Long ll_scid
  4155. String ll_scname
  4156. String ll_sccode
  4157. long cnt = 0
  4158. DECLARE cur1 CURSOR FOR
  4159. SELECT scid, scname, sccode From u_scdef;
  4160. OPEN cur1;
  4161. FETCH cur1 Into :ll_scid, :ll_scname, :ll_sccode;
  4162. DO WHILE sqlca.SQLCode = 0
  4163. INSERT INTO LJFIEB_scdef(scid, scname, sccode, serialnum)
  4164. Values(:ll_scid, :ll_scname, :ll_sccode, :ls_serialnum) Using commit_transaction;
  4165. IF commit_transaction.SQLCode <> 0 THEN
  4166. rslt = 0
  4167. arg_msg = '插入分部通信表失败,' + commit_transaction.sqlerrtext
  4168. GOTO ext
  4169. END IF
  4170. cnt ++
  4171. FETCH cur1 Into :ll_scid, :ll_scname, :ll_sccode;
  4172. LOOP
  4173. close cur1;
  4174. IF cnt > 0 THEN
  4175. String ls_tablename
  4176. ls_tablename = 'LJFIEB_scdef'
  4177. IF add_packet(ls_serialnum,ls_tablename,ll_sendcuscommid,'',ll_commid_ec,'',24,'','','','','',0,arg_msg,False) = 0 THEN
  4178. rslt = 0
  4179. GOTO ext
  4180. END IF
  4181. END IF
  4182. ext:
  4183. IF rslt = 1 THEN
  4184. COMMIT Using commit_transaction;
  4185. ELSE
  4186. ROLLBACK Using commit_transaction;
  4187. END IF
  4188. RETURN rslt
  4189. end function
  4190. public function integer send_web_currency (ref string arg_msg);Int rslt = 1
  4191. Long ll_sendcuscommid
  4192. Long ll_commid_ec
  4193. SELECT CusCommID
  4194. INTO :ll_sendcuscommid
  4195. FROM LJFIEB_CusComm
  4196. Where CusType = 0 Using commit_transaction;
  4197. IF commit_transaction.SQLCode <> 0 THEN
  4198. rslt = 0
  4199. arg_msg = '查询本公司企业编号失败,'+commit_transaction.SQLErrText
  4200. GOTO ext
  4201. END IF
  4202. SELECT CusCommID
  4203. INTO :ll_commid_ec
  4204. FROM LJFIEB_CusComm
  4205. Where CusType = 5 Using commit_transaction;
  4206. IF commit_transaction.SQLCode <> 0 THEN
  4207. rslt = 0
  4208. arg_msg = '查询电子商务网站通讯连接失败,请先确认已设置电子商务网站通讯连接'+commit_transaction.SQLErrText
  4209. GOTO ext
  4210. END IF
  4211. String ls_serialnum
  4212. SELECT top 1 newid()
  4213. INTO :ls_serialnum
  4214. From u_user;
  4215. IF sqlca.SQLCode <> 0 THEN
  4216. rslt = 0
  4217. arg_msg = '查询通信ID失败,' + sqlca.SQLErrText
  4218. GOTO ext
  4219. END IF
  4220. Long ll_accsetid
  4221. long ll_moneyid
  4222. string ll_code
  4223. string ll_name
  4224. decimal ll_rate
  4225. long ll_native
  4226. long cnt = 0
  4227. DECLARE cur1 CURSOR FOR
  4228. SELECT accsetid, moneyid, code, name, rate, native From cw_currency;
  4229. OPEN cur1;
  4230. FETCH cur1 Into :ll_accsetid, :ll_moneyid, :ll_code, :ll_name, :ll_rate, :ll_native;
  4231. DO WHILE sqlca.SQLCode = 0
  4232. INSERT INTO LJFIEB_currency(accsetid, moneyid, code, name, rate, native, serialnum)
  4233. Values( :ll_accsetid, :ll_moneyid, :ll_code, :ll_name, :ll_rate, :ll_native, :ls_serialnum) Using commit_transaction;
  4234. IF commit_transaction.SQLCode <> 0 THEN
  4235. rslt = 0
  4236. arg_msg = '插入分部通信表失败,' + commit_transaction.sqlerrtext
  4237. GOTO ext
  4238. END IF
  4239. cnt ++
  4240. FETCH cur1 Into :ll_accsetid, :ll_moneyid, :ll_code, :ll_name, :ll_rate, :ll_native;
  4241. LOOP
  4242. close cur1;
  4243. IF cnt > 0 THEN
  4244. String ls_tablename
  4245. ls_tablename = 'LJFIEB_currency'
  4246. IF add_packet(ls_serialnum,ls_tablename,ll_sendcuscommid,'',ll_commid_ec,'',24,'','','','','',0,arg_msg,False) = 0 THEN
  4247. rslt = 0
  4248. GOTO ext
  4249. END IF
  4250. END IF
  4251. ext:
  4252. IF rslt = 1 THEN
  4253. COMMIT Using commit_transaction;
  4254. ELSE
  4255. ROLLBACK Using commit_transaction;
  4256. END IF
  4257. RETURN rslt
  4258. end function
  4259. public function integer send_web_banktype (ref string arg_msg);Int rslt = 1
  4260. Long ll_sendcuscommid
  4261. Long ll_commid_ec
  4262. SELECT CusCommID
  4263. INTO :ll_sendcuscommid
  4264. FROM LJFIEB_CusComm
  4265. Where CusType = 0 Using commit_transaction;
  4266. IF commit_transaction.SQLCode <> 0 THEN
  4267. rslt = 0
  4268. arg_msg = '查询本公司企业编号失败,'+commit_transaction.SQLErrText
  4269. GOTO ext
  4270. END IF
  4271. SELECT CusCommID
  4272. INTO :ll_commid_ec
  4273. FROM LJFIEB_CusComm
  4274. Where CusType = 5 Using commit_transaction;
  4275. IF commit_transaction.SQLCode <> 0 THEN
  4276. rslt = 0
  4277. arg_msg = '查询电子商务网站通讯连接失败,请先确认已设置电子商务网站通讯连接'+commit_transaction.SQLErrText
  4278. GOTO ext
  4279. END IF
  4280. String ls_serialnum
  4281. SELECT top 1 newid()
  4282. INTO :ls_serialnum
  4283. From u_user;
  4284. IF sqlca.SQLCode <> 0 THEN
  4285. rslt = 0
  4286. arg_msg = '查询通信ID失败,' + sqlca.SQLErrText
  4287. GOTO ext
  4288. END IF
  4289. Long ll_accsetid
  4290. Long ll_banktypeid
  4291. String ll_banktype
  4292. String ll_banktypename
  4293. Long ll_btype
  4294. Long ll_accountsid
  4295. long ll_inuse
  4296. long ll_ifconfirm
  4297. Long cnt = 0
  4298. DECLARE cur1 CURSOR FOR
  4299. SELECT accsetid, banktypeid, banktype, banktypename, btype, accountsid, inuse, ifconfirm From cw_banktype;
  4300. OPEN cur1;
  4301. FETCH cur1 Into :ll_accsetid, :ll_banktypeid, :ll_banktype, :ll_banktypename, :ll_btype, :ll_accountsid, :ll_inuse, :ll_ifconfirm;
  4302. DO WHILE sqlca.SQLCode = 0
  4303. INSERT INTO LJFIEB_banktype(accsetid, banktypeid, banktype, banktypename, btype, accountsid, serialnum, inuse, ifconfirm)
  4304. Values( :ll_accsetid, :ll_banktypeid, :ll_banktype, :ll_banktypename, :ll_btype, :ll_accountsid, :ls_serialnum, :ll_inuse, :ll_ifconfirm) Using commit_transaction;
  4305. IF commit_transaction.SQLCode <> 0 THEN
  4306. rslt = 0
  4307. arg_msg = '插入分部通信表失败,' + commit_transaction.SQLErrText
  4308. GOTO ext
  4309. END IF
  4310. cnt ++
  4311. FETCH cur1 Into :ll_accsetid, :ll_banktypeid, :ll_banktype, :ll_banktypename, :ll_btype, :ll_accountsid, :ll_inuse, :ll_ifconfirm;
  4312. LOOP
  4313. close cur1;
  4314. IF cnt > 0 THEN
  4315. String ls_tablename
  4316. ls_tablename = 'LJFIEB_banktype'
  4317. IF add_packet(ls_serialnum,ls_tablename,ll_sendcuscommid,'',ll_commid_ec,'',24,'','','','','',0,arg_msg,False) = 0 THEN
  4318. rslt = 0
  4319. GOTO ext
  4320. END IF
  4321. END IF
  4322. ext:
  4323. IF rslt = 1 THEN
  4324. COMMIT Using commit_transaction;
  4325. ELSE
  4326. ROLLBACK Using commit_transaction;
  4327. END IF
  4328. RETURN rslt
  4329. end function
  4330. public function integer feedback_buytask (string arg_sn, s_buytaskmx_feedback_ljfieb arg_s_mx[], string arg_summary, string arg_postscript, string arg_remark, ref string arg_msg, boolean arg_ifcommit, string arg_spt_dscrp, string arg_spt_dscrp2);Int rslt = 1
  4331. Long ll_SendCusCommID, ll_ReceiveCusCommID
  4332. String ls_SendSCcode, ls_ReceiveSCcode
  4333. String ls_SerialNum,ls_RelatedCode
  4334. Long ll_i
  4335. long ll_cusid
  4336. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  4337. From u_user Using sqlca;
  4338. IF sqlca.SQLCode <> 0 THEN
  4339. rslt = 0
  4340. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  4341. GOTO ext
  4342. END IF
  4343. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  4344. IF ls_SerialNum = '' THEN
  4345. rslt = 0
  4346. arg_msg = '错误的发送序列号'
  4347. GOTO ext
  4348. END IF
  4349. SELECT SendCusCommID,
  4350. SendSCcode,
  4351. ReceiveCusCommID,
  4352. ReceiveSCcode,
  4353. RelatedCode,
  4354. cusid
  4355. INTO :ll_SendCusCommID,
  4356. :ls_SendSCcode,
  4357. :ll_ReceiveCusCommID,
  4358. :ls_ReceiveSCcode,
  4359. :ls_RelatedCode,
  4360. :ll_cusid
  4361. FROM LJFIEB_packet
  4362. Where SerialNum = :arg_sn Using commit_transaction;
  4363. IF commit_transaction.SQLCode <> 0 THEN
  4364. rslt = 0
  4365. arg_msg = '查询发送记录信息失败,'+commit_transaction.SQLErrText
  4366. GOTO ext
  4367. END IF
  4368. INSERT INTO LJFIEB_tempbuyTask
  4369. (scid, TaskID, TaskCode, orderid, kind, sptID, requiredate, accomplishdate, finishemp,
  4370. Status, Opemp, Modemp, moddate, Assign_Emp, Permit_Emp, Permit_date, Dscrp,
  4371. opdate, stopemp, ctmint, printnum, relcode, banktypeid, train, reason, billtype,
  4372. firpermitemp, firpermitdate, billamt, moneyid, mrate, serialnum,banktypename,moneyname, cusid)
  4373. SELECT scid, TaskID, TaskCode, orderid, kind, sptID, requiredate, accomplishdate,
  4374. finishemp, 8, Opemp, Modemp, moddate, Assign_Emp, Permit_Emp,
  4375. Permit_date, Dscrp, opdate, stopemp, ctmint, printnum, relcode, banktypeid, train,
  4376. reason, billtype, firpermitemp, firpermitdate, billamt, moneyid, mrate, :ls_SerialNum,banktypename,moneyname, cusid
  4377. FROM LJFIEB_tempbuyTask
  4378. WHERE SerialNum = :arg_sn Using commit_transaction;
  4379. IF commit_transaction.SQLCode <> 0 THEN
  4380. rslt = 0
  4381. arg_msg = '插入临时采购订单表失败,'+commit_transaction.SQLErrText
  4382. GOTO ext
  4383. END IF
  4384. INSERT INTO LJFIEB_tempbuyTaskMx
  4385. (scid, TaskID, MtrlID, iforder, Qty, fprice, rebate, Price, AssignQty, status, dscrp,
  4386. printid, consignedqty, Requiredate, storageid, orderid, ctmint, sptmtrlname, uqty,
  4387. uprice, unit, rate, stopflag, stopemp, stopdate, stopreason, woodcode, pcode,
  4388. rqmxprintid, requestbuyid, relrqbuycode, wrkGrpid, taskmxprintid, sptbackdate,
  4389. delayreason, stopqty, rebuyqty, buybargainid, buybargainprintid, buybargaincode,
  4390. accomplishdate, admtrlid, relprintid, fpqty, ffpqty, autostopqty, enprice, tax, serialnum,
  4391. sptmtrlcode, sptmtrlmode, spt_uqty, spt_enprice, spt_Requiredate)
  4392. SELECT scid, TaskID, MtrlID, iforder, Qty, fprice, rebate, Price, AssignQty, status, dscrp,
  4393. printid, consignedqty, Requiredate, storageid, orderid, ctmint, sptmtrlname, uqty,
  4394. uprice, unit, rate, stopflag, stopemp, stopdate, stopreason, woodcode, pcode,
  4395. rqmxprintid, requestbuyid, relrqbuycode, wrkGrpid, taskmxprintid, sptbackdate,
  4396. delayreason, stopqty, rebuyqty, buybargainid, buybargainprintid, buybargaincode,
  4397. accomplishdate, admtrlid, relprintid, fpqty, ffpqty, autostopqty, enprice, tax, :ls_serialnum,
  4398. sptmtrlcode, sptmtrlmode, uqty, enprice, Requiredate
  4399. FROM LJFIEB_tempbuyTaskMx
  4400. WHERE SerialNum = :arg_sn Using commit_transaction;
  4401. IF commit_transaction.SQLCode <> 0 THEN
  4402. rslt = 0
  4403. arg_msg = '插入临时采购订单明细表失败,'+commit_transaction.SQLErrText
  4404. GOTO ext
  4405. END IF
  4406. Long ll_printid
  4407. Decimal ld_spt_uqty,ld_spt_enprice
  4408. DateTime ldt_spt_requiredate
  4409. UPDATE LJFIEB_tempbuyTask
  4410. SET spt_dscrp = :arg_spt_dscrp,
  4411. spt_dscrp2 = :arg_spt_dscrp2
  4412. Where SerialNum = :ls_SerialNum Using commit_transaction;
  4413. IF commit_transaction.SQLCode <> 0 THEN
  4414. rslt = 0
  4415. arg_msg = '插入更新采购订单表失败,'+commit_transaction.SQLErrText
  4416. GOTO ext
  4417. END IF
  4418. FOR ll_i = 1 To UpperBound(arg_s_mx)
  4419. ll_printid = arg_s_mx[ll_i].printid
  4420. ld_spt_uqty = arg_s_mx[ll_i].spt_uqty
  4421. ld_spt_enprice = arg_s_mx[ll_i].spt_enprice
  4422. ldt_spt_requiredate = arg_s_mx[ll_i].spt_Requiredate
  4423. UPDATE LJFIEB_tempbuyTaskMx
  4424. SET spt_uqty = :ld_spt_uqty,
  4425. spt_enprice = :ld_spt_enprice,
  4426. spt_requiredate = :ldt_spt_requiredate,
  4427. spt_status = :arg_s_mx[ll_i].spt_status,
  4428. spt_woodcode = :arg_s_mx[ll_i].spt_woodcode,
  4429. spt_pcode = :arg_s_mx[ll_i].spt_pcode,
  4430. spt_dscrp = :arg_s_mx[ll_i].spt_dscrp
  4431. WHERE printid = :ll_printid
  4432. and SerialNum = :ls_serialnum Using commit_transaction;
  4433. IF commit_transaction.SQLCode <> 0 THEN
  4434. rslt = 0
  4435. arg_msg = '插入更新采购订单明细表失败,'+commit_transaction.SQLErrText
  4436. GOTO ext
  4437. END IF
  4438. NEXT
  4439. string ls_tablename
  4440. ls_tablename = 'LJFIEB_tempbuyTask,LJFIEB_tempbuyTaskMx'
  4441. IF add_packet(ls_SerialNum,ls_tablename,ll_receivecuscommid,ls_ReceiveSCcode,ll_sendcuscommid,ls_sendsccode,3,arg_summary,arg_postscript,arg_remark,arg_sn,ls_RelatedCode,ll_cusid,arg_msg,False) = 0 THEN
  4442. rslt = 0
  4443. GOTO ext
  4444. END IF
  4445. //更新本地通信记录
  4446. UPDATE LJFIEB_packet
  4447. SET status = 9,
  4448. Complete = 1,
  4449. ConfirmTime = getdate(),
  4450. ConfirmUser = :publ_operator
  4451. Where SerialNum = :arg_sn Using commit_transaction;
  4452. IF commit_transaction.SQLCode <> 0 THEN
  4453. rslt = 0
  4454. arg_msg = '更新本地通信记录失败,'+commit_transaction.SQLErrText
  4455. goto ext
  4456. END IF
  4457. String ls_SerialNum_fb
  4458. SELECT TOP 1 NEWID() INTO :ls_SerialNum_fb
  4459. From u_user Using sqlca;
  4460. IF sqlca.SQLCode <> 0 THEN
  4461. rslt = 0
  4462. arg_msg = '生成序列号失败,'+sqlca.SQLErrText
  4463. GOTO ext
  4464. END IF
  4465. IF IsNull(ls_SerialNum_fb) THEN ls_SerialNum_fb = ''
  4466. IF ls_SerialNum_fb = '' THEN
  4467. rslt = 0
  4468. arg_msg = '错误的发送序列号'
  4469. GOTO ext
  4470. END IF
  4471. IF add_packet(ls_SerialNum_fb,'',ll_receivecuscommid,ls_ReceiveSCcode,ll_sendcuscommid,ls_sendsccode,10,'','','',arg_sn,ls_RelatedCode,ll_cusid,arg_msg,false) = 0 THEN
  4472. rslt = 0
  4473. arg_msg = '发送反馈确认指令失败 '+arg_msg
  4474. goto ext
  4475. END IF
  4476. ext:
  4477. IF rslt = 0 THEN
  4478. ROLLBACK Using commit_transaction;
  4479. ELSEIF rslt = 1 And arg_ifcommit THEN
  4480. COMMIT Using commit_transaction;
  4481. END IF
  4482. RETURN rslt
  4483. end function
  4484. public function integer send_file (long arg_billtype, long arg_scid, long arg_relid[], long arg_relid_mx[], string ls_serialnum, ref string ls_tablename, ref string arg_msg);Int rslt = 1
  4485. datastore ds_file
  4486. ds_file = Create datastore
  4487. ds_file.DataObject = 'ds_file'
  4488. ls_tablename = ''
  4489. IF sys_fileDB_sqlca.DBHandle() <= 0 THEN
  4490. rslt = 0
  4491. arg_msg = '附件数据库连接失败'
  4492. GOTO ext
  4493. END IF
  4494. ds_file.SetTransObject(sys_fileDB_sqlca)
  4495. Long ll_classid, arr_classid[], ll_files = 0, ll_i
  4496. Long ll_fileid
  4497. String ls_displayname
  4498. String ls_filename
  4499. String ls_filetype
  4500. String ls_dscrp
  4501. DateTime ld_opdate
  4502. String ls_opemp
  4503. Long ll_relid
  4504. Long ll_relid_mx
  4505. Long ll_scid
  4506. Long ll_billtype
  4507. String ls_relcode
  4508. String ls_relcode_mx
  4509. Blob lb_filedata
  4510. DECLARE cur1 Cursor FOR SELECT classid From u_FileClass Where billtype = :arg_billtype And ifsend = 1;
  4511. OPEN cur1;
  4512. FETCH cur1 Into :ll_classid;
  4513. DO WHILE sqlca.SQLCode = 0
  4514. arr_classid[UpperBound(arr_classid) + 1] = ll_classid
  4515. FETCH cur1 Into :ll_classid;
  4516. LOOP
  4517. CLOSE cur1;
  4518. IF UpperBound(arr_classid) > 0 THEN
  4519. ll_files = ds_file.Retrieve(arg_billtype, arg_scid, arg_relid, arg_relid_mx, arr_classid)
  4520. if ll_files < 0 then
  4521. rslt = 0
  4522. arg_msg = '查询附件失败,ds_file'
  4523. goto ext
  4524. end if
  4525. FOR ll_i = 1 To ds_file.RowCount()
  4526. ll_fileid = ds_file.Object.fileid[ll_i]
  4527. ls_displayname = ds_file.Object.DisplayName[ll_i]
  4528. ls_filename = ds_file.Object.Filename[ll_i]
  4529. ll_classid = ds_file.Object.classid[ll_i]
  4530. ls_filetype = ds_file.Object.FileType[ll_i]
  4531. ls_dscrp = ds_file.Object.dscrp[ll_i]
  4532. ld_opdate = ds_file.Object.opdate[ll_i]
  4533. ls_opemp = ds_file.Object.opemp[ll_i]
  4534. ll_relid = ds_file.Object.relid[ll_i]
  4535. ll_relid_mx = ds_file.Object.relid_mx[ll_i]
  4536. ll_scid = ds_file.Object.scid[ll_i]
  4537. ll_billtype = ds_file.Object.billtype[ll_i]
  4538. ls_relcode = ds_file.Object.relcode[ll_i]
  4539. ls_relcode_mx = ds_file.Object.relcode_mx[ll_i]
  4540. SelectBlob filedata Into :lb_filedata From u_file Where fileid = :ll_fileid Using sys_fileDB_sqlca;
  4541. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  4542. rslt = 0
  4543. arg_msg = '查询附件数据失败,' + sys_fileDB_sqlca.SQLErrText
  4544. GOTO ext
  4545. END IF
  4546. INSERT INTO LJFIEB_file
  4547. (FileID
  4548. ,serialnum
  4549. ,DisplayName
  4550. ,FileName
  4551. ,ClassID
  4552. ,FileType
  4553. ,Dscrp
  4554. ,Opdate
  4555. ,Opemp
  4556. ,relid
  4557. ,relid_mx
  4558. ,scid
  4559. ,billtype
  4560. ,relcode
  4561. ,relcode_mx)
  4562. VALUES
  4563. (:ll_fileid
  4564. ,:ls_SerialNum
  4565. ,:ls_DisplayName
  4566. ,:ls_filename
  4567. ,:ll_classid
  4568. ,:ls_filetype
  4569. ,:ls_dscrp
  4570. ,:ld_opdate
  4571. ,:ls_opemp
  4572. ,:ll_relid
  4573. ,:ll_relid_mx
  4574. ,:ll_scid
  4575. ,:ll_billtype
  4576. ,:ls_relcode
  4577. ,:ls_relcode_mx) Using commit_transaction;
  4578. IF commit_transaction.SQLCode <> 0 THEN
  4579. rslt = 0
  4580. arg_msg = '插入临时附件表(LJFIEB_file)失败,'+commit_transaction.SQLErrText
  4581. GOTO ext
  4582. END IF
  4583. UpdateBlob LJFIEB_file Set filedata = :lb_filedata Where fileid = :ll_fileid And serialnum = :ls_SerialNum Using commit_transaction;
  4584. IF commit_transaction.SQLCode <> 0 THEN
  4585. rslt = 0
  4586. arg_msg = '插入更新附件表(LJFIEB_file)失败,'+commit_transaction.SQLErrText
  4587. GOTO ext
  4588. END IF
  4589. NEXT
  4590. END IF
  4591. if ll_files > 0 then
  4592. ls_tablename = 'LJFIEB_file'
  4593. end if
  4594. ext:
  4595. destroy ds_file
  4596. RETURN rslt
  4597. end function
  4598. on uo_ljfieb.create
  4599. call super::create
  4600. TriggerEvent( this, "constructor" )
  4601. end on
  4602. on uo_ljfieb.destroy
  4603. TriggerEvent( this, "destructor" )
  4604. call super::destroy
  4605. end on