uo_aifmb.sru 125 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419
  1. $PBExportHeader$uo_aifmb.sru
  2. forward
  3. global type uo_aifmb from nonvisualobject
  4. end type
  5. end forward
  6. shared variables
  7. string token
  8. long EntID
  9. string EntName
  10. long UserID
  11. string LoginName
  12. string UserName
  13. string Powers
  14. boolean LoginSuccess
  15. long auditflag
  16. string tele
  17. string phone
  18. string email
  19. string QQ
  20. // 本地企业信息
  21. long local_userid = 0
  22. string local_username = ''
  23. string local_cusid = ''
  24. // 如果绑定的用户名密码登录的企业信息与本地信息不符则按未登录处理
  25. // 提供功能允许绑定到其它企业
  26. end variables
  27. global type uo_aifmb from nonvisualobject
  28. end type
  29. global uo_aifmb uo_aifmb
  30. forward prototypes
  31. public function integer uf_syncindexandvalue (ref string arg_msg)
  32. public function integer uf_bookindexes (s_aifmb_indexbookinfo arg_indexes[], ref string arg_msg)
  33. public function integer uf_getmypromotions (ref datastore arg_ds, ref string arg_msg)
  34. public function integer uf_getindexvaluelist (long arg_indexid, ref string arg_msg)
  35. public function integer uf_getindexvalue_del (long arg_indexid, ref string arg_msg)
  36. public function integer uf_getindexdefinelist (ref string arg_msg)
  37. public function integer uf_getallindexdefine_del (ref string arg_msg)
  38. public function integer uf_getproductcodelist (boolean arg_isstandard, datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], ref datastore arg_ds, ref string arg_msg)
  39. private function integer pf_gettoken (ref string arg_msg)
  40. public function integer uf_authcode (ref blob arg_pic, ref string arg_msg)
  41. public function integer uf_userlogin (string arg_username, string arg_psw, string arg_authcode, ref string arg_msg)
  42. public function integer uf_getlocaluserid (ref long arg_localuserid, ref string arg_msg)
  43. public function integer uf_getbuyinfolist (datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], ref datastore arg_ds, ref string arg_msg)
  44. public function integer uf_removeproductentrelation (long arg_relactionid, ref string arg_msg)
  45. public function integer uf_addmodproductentrelation (ref s_aifmb_addmodproductentrelation arg_s_tran, ref string arg_msg)
  46. public function integer uf_setpromotions (ref s_aifmb_promotions arg_promotions_arr[], ref string arg_msg)
  47. public function integer uf_delbuyinfo (longlong arg_promoids[], ref string arg_msg)
  48. public function integer uf_delpromotions (longlong arg_promoids[], ref string arg_msg)
  49. public function integer uf_userlogout (ref string arg_msg)
  50. public function boolean sf_islogin ()
  51. public function string sf_loginname ()
  52. public function string sf_username ()
  53. public function long sf_userid ()
  54. public function long sf_entid ()
  55. public function string sf_entname ()
  56. private function integer pf_getlocalcominfo (ref string arg_msg)
  57. public function integer uf_getlocalusername (ref string arg_localusername, ref string arg_msg)
  58. public function integer uf_regcom (s_aifmb_regcomrequest arg_s_request, ref string arg_msg)
  59. public function integer uf_commatch (string arg_usercode, string arg_username, string arg_psw, ref string arg_msg)
  60. public function integer uf_searchproductannexlist (long arg_relationid, long arg_pageindex, long arg_pagesize, ref s_aifmb_searchproductannex arg_annexlist[], ref string arg_msg)
  61. public function integer uf_addproductannex (longlong arg_relationid, s_aifmb_productannexdata arg_s_pics[], ref string arg_msg)
  62. public function integer uf_delproductannex (longlong arg_annexid[], ref string arg_msg)
  63. public function integer uf_requestquote (s_aifmb_requestquotedata arg_s_data[], ref string arg_msg)
  64. public function integer uf_getrequestquoteanswer (ref s_aifmb_getrequestquoteanswerdata s_data[], ref string arg_msg)
  65. public function integer uf_sync_node (ref string arg_msg)
  66. public function datetime pf_getsynctime ()
  67. public subroutine pf_setsynctime (datetime arg_lasttime)
  68. public function integer uf_sync_node_bytime (ref string arg_msg)
  69. public function integer uf_getentuserlist (ref datastore arg_ds, ref string arg_msg)
  70. public function integer uf_getuserrightlist (ref datastore arg_ds, ref string arg_msg)
  71. public function integer uf_setbuyinfo (ref s_aifmb_buyinfo arg_promotions_arr[], ref string arg_msg)
  72. public function integer uf_setentuserright (ref s_aifmb_a_user arg_users[], ref string arg_msg)
  73. public function integer uf_addcuscomm (string opcusid, long custype, ref string arg_msg)
  74. public function integer uf_getusergrade (ref datastore arg_ds, ref string arg_msg)
  75. public function integer uf_searchproductentrelationlist (boolean arg_isstandard, datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], long arg_pageindex, long arg_pagesize, ref datastore arg_ds, ref string arg_msg)
  76. public function integer uf_searchpromotionslist (datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], long arg_pageindex, long arg_pagesize, ref datastore arg_ds, ref string arg_msg)
  77. public function integer uf_searchbuyinfolist (datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], long arg_pageindex, long arg_pagesize, ref datastore arg_ds, ref string arg_msg)
  78. public function integer uf_getlastbuyinforeply (long arg_productid, ref datastore ds_aifmb_buyinforeply, ref string arg_msg)
  79. public function integer uf_getlastindexproductvalue (long arg_productid, ref datastore ds_aifmb_indexproductvalue, ref string arg_msg)
  80. public function integer uf_getlastpromotions (long arg_productid, ref datastore ds_aifmb_promotions, ref string arg_msg)
  81. public function integer uf_getindexproductvaluelist (long arg_productid, datetime arg_starttime, datetime arg_endtime, ref datastore arg_ds, ref string arg_msg)
  82. public function integer uf_getpromotionslist (long arg_productid, datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], ref datastore arg_ds, ref string arg_msg)
  83. public function integer uf_getbuyinforeplylist (long arg_productid, datetime arg_starttime, datetime arg_endtime, long arg_buyids[], ref datastore arg_ds, ref string arg_msg)
  84. public function string pf_getpromocode ()
  85. public function string pf_getbuycode ()
  86. public function integer pf_resetcominfo (ref string arg_msg)
  87. public function integer uf_tryautologin (ref string arg_msg)
  88. public subroutine pf_reset ()
  89. public function integer uf_modentpsw (string arg_oldpsw, string arg_newpsw, ref string arg_msg)
  90. public function long sf_auditflag ()
  91. public function string sf_tele ()
  92. public function string sf_phone ()
  93. public function string sf_email ()
  94. public function string sf_qq ()
  95. public function integer uf_inquire_gettome (datastore arg_ds, ref string arg_msg)
  96. public function integer uf_inquire_getfromme (datastore arg_ds, ref string arg_msg)
  97. public function integer uf_inquire_add (ref s_aifmb_inquire_add s_tran, ref string arg_msg)
  98. public function integer uf_inquire_rsp (ref s_aifmb_inquire_add s_tran, ref string arg_msg)
  99. public function integer uf_inquire_cfm (ref s_aifmb_inquire_add s_tran, ref string arg_msg)
  100. public function integer uf_setentlinkstatus (integer arg_receivemsg, ref string arg_msg)
  101. public function integer uf_getlinkedentlist (datastore arg_ds, long arg_pageindex, long arg_pagesize, ref string arg_msg)
  102. public function integer uf_setentlinkmsg (long arg_receiveentids[], string arg_msgcontent, string arg_linkstring, ref string arg_msg)
  103. public function integer uf_getentlinkmsglist (ref datastore arg_ds, boolean arg_receive, boolean arg_send, boolean arg_isdeal, long arg_pageindex, long arg_pagesize, ref string arg_msg)
  104. end prototypes
  105. public function integer uf_syncindexandvalue (ref string arg_msg);Int rslt = 1
  106. IF uf_GetIndexDefineList(Ref arg_msg) <> 1 THEN
  107. rslt = 0
  108. GOTO ext
  109. END IF
  110. Long arr_indexid[], ll_indexid
  111. String arr_indexcode[], ls_indexcode
  112. Long i = 0
  113. DECLARE cur1 Cursor FOR SELECT indexid, IndexCode From aifmb_Index Where ifdel = 0 And ifbook = 1;
  114. OPEN cur1;
  115. FETCH cur1 Into :ll_indexid, :ls_indexcode;
  116. DO WHILE sqlca.SQLCode = 0
  117. i++
  118. arr_indexid[i] = ll_indexid
  119. arr_indexcode[i] = ls_indexcode
  120. FETCH cur1 Into :ll_indexid, :ls_indexcode;
  121. LOOP
  122. CLOSE cur1;
  123. String ls_msg = ''
  124. arg_msg = ''
  125. FOR i = 1 To UpperBound(arr_indexid)
  126. IF uf_getindexvaluelist(arr_indexid[i], ls_msg) <> 1 THEN
  127. rslt = 0
  128. arg_msg += arr_indexcode[i] + '获取指数值失败:' + ls_msg + '~r~n'
  129. END IF
  130. NEXT
  131. ext:
  132. RETURN rslt
  133. end function
  134. public function integer uf_bookindexes (s_aifmb_indexbookinfo arg_indexes[], ref string arg_msg);Int rslt = 1
  135. uo_aifmbproxy ll_proxyfactory
  136. ll_proxyfactory = Create uo_aifmbproxy
  137. oleobject lo_proxy
  138. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  139. rslt = 0
  140. GOTO ext
  141. END IF
  142. IF sys_email_sqlca.DBHandle() <= 0 THEN
  143. rslt = 0
  144. arg_msg = '未设置邮件数据库'
  145. GOTO ext
  146. END IF
  147. Long ll_cnt
  148. SELECT COUNT(0)
  149. INTO :ll_cnt
  150. FROM LJFIEB_ComInfo
  151. Using sys_email_sqlca;
  152. IF sys_email_sqlca.SQLCode <> 0 THEN
  153. rslt = 0
  154. arg_msg = '查询注册信息表失败,' + sys_email_sqlca.SQLErrText
  155. GOTO ext
  156. END IF
  157. IF ll_cnt = 0 THEN
  158. rslt = 0
  159. arg_msg = '请更新供应链后台以初始化数据库'
  160. GOTO ext
  161. END IF
  162. IF ll_cnt > 1 THEN
  163. rslt = 0
  164. arg_msg = '注册信息存在多条,异常'
  165. GOTO ext
  166. END IF
  167. String ls_CusID
  168. Long ins_userid
  169. String ins_psw
  170. SELECT CusID,
  171. userid,
  172. psw
  173. INTO :ls_CusID,
  174. :ins_userid,
  175. :ins_psw
  176. FROM LJFIEB_ComInfo
  177. Using sys_email_sqlca;
  178. IF sys_email_sqlca.SQLCode <> 0 THEN
  179. rslt = 0
  180. arg_msg = '查询企业注册信息失败,' + sys_email_sqlca.SQLErrText
  181. GOTO ext
  182. END IF
  183. IF ins_userid <= 0 THEN
  184. rslt = 0
  185. arg_msg = '企业未注册'
  186. GOTO ext
  187. END IF
  188. oleobject request
  189. request = lo_proxy.NewBookIndexesRequest()
  190. request.EntID = ins_userid
  191. request.Indexes = lo_proxy.NewArrOfIIndexBookInfo()
  192. Long i
  193. oleobject lo_bookinfo
  194. FOR i = 1 To UpperBound(arg_indexes)
  195. lo_bookinfo = lo_proxy.NewIndexBookInfo()
  196. lo_bookinfo.IndexID = arg_indexes[i].IndexID
  197. lo_bookinfo.StartTime = arg_indexes[i].StartTime
  198. lo_bookinfo.EndTime = arg_indexes[i].EndTime
  199. lo_bookinfo.BookType = arg_indexes[i].BookType
  200. request.Indexes.Add(lo_bookinfo)
  201. NEXT
  202. oleobject response
  203. response = lo_proxy.BookIndexes(request)
  204. IF Not IsNull(response.ErrMsg) THEN
  205. rslt = 0
  206. arg_msg = response.ErrMsg
  207. GOTO ext
  208. END IF
  209. DateTime ld_server
  210. SELECT top 1 GETDATE()
  211. INTO :ld_server
  212. From u_user;
  213. IF sqlca.SQLCode <> 0 THEN
  214. rslt = 0
  215. arg_msg = '查询系统时间失败,' + sqlca.SQLErrText
  216. GOTO ext
  217. END IF
  218. // TODO: 更新订阅列表
  219. ext:
  220. Destroy ll_proxyfactory
  221. IF rslt = 1 THEN
  222. COMMIT;
  223. ELSE
  224. ROLLBACK;
  225. END IF
  226. RETURN rslt
  227. end function
  228. public function integer uf_getmypromotions (ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  229. uo_aifmbproxy ll_proxyfactory
  230. ll_proxyfactory = Create uo_aifmbproxy
  231. oleobject lo_proxy
  232. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  233. rslt = 0
  234. GOTO ext
  235. END IF
  236. IF sys_email_sqlca.DBHandle() <= 0 THEN
  237. rslt = 0
  238. arg_msg = '未设置邮件数据库'
  239. GOTO ext
  240. END IF
  241. Long ll_cnt
  242. SELECT COUNT(0)
  243. INTO :ll_cnt
  244. FROM LJFIEB_ComInfo
  245. Using sys_email_sqlca;
  246. IF sys_email_sqlca.SQLCode <> 0 THEN
  247. rslt = 0
  248. arg_msg = '查询注册信息表失败,' + sys_email_sqlca.SQLErrText
  249. GOTO ext
  250. END IF
  251. IF ll_cnt = 0 THEN
  252. rslt = 0
  253. arg_msg = '请更新供应链后台以初始化数据库'
  254. GOTO ext
  255. END IF
  256. IF ll_cnt > 1 THEN
  257. rslt = 0
  258. arg_msg = '注册信息存在多条,异常'
  259. GOTO ext
  260. END IF
  261. String ls_CusID
  262. Long ins_userid
  263. String ins_psw
  264. SELECT CusID,
  265. userid,
  266. psw
  267. INTO :ls_CusID,
  268. :ins_userid,
  269. :ins_psw
  270. FROM LJFIEB_ComInfo
  271. Using sys_email_sqlca;
  272. IF sys_email_sqlca.SQLCode <> 0 THEN
  273. rslt = 0
  274. arg_msg = '查询企业注册信息失败,' + sys_email_sqlca.SQLErrText
  275. GOTO ext
  276. END IF
  277. IF ins_userid <= 0 THEN
  278. rslt = 0
  279. arg_msg = '企业未注册'
  280. GOTO ext
  281. END IF
  282. oleobject request
  283. request = lo_proxy.NewGetMyPromotionsRequest()
  284. request.EntID = ins_userid
  285. oleobject response
  286. response = lo_proxy.GetMyPromotions(request)
  287. IF Not IsNull(response.ErrMsg) THEN
  288. rslt = 0
  289. arg_msg = response.ErrMsg
  290. GOTO ext
  291. END IF
  292. IF Not IsValid(arg_ds) THEN
  293. arg_ds = Create datastore
  294. END IF
  295. IF arg_ds.DataObject <> 'ds_aifmb_promotions' THEN
  296. arg_ds.DataObject = 'ds_aifmb_promotions'
  297. END IF
  298. Long cnt, row
  299. cnt = response.Promotions.Count()
  300. oleobject lo_promo
  301. Long i
  302. FOR i = 0 To cnt - 1
  303. lo_promo = response.Promotions.GetItem(i)
  304. row = arg_ds.InsertRow(0)
  305. arg_ds.Object.PromoID[row] = lo_promo.PromoID
  306. arg_ds.Object.EntID[row] = lo_promo.EntID
  307. arg_ds.Object.CreaterID[row] = lo_promo.CreaterID
  308. arg_ds.Object.CreatTime[row] = lo_promo.CreatTime
  309. arg_ds.Object.IsAudit[row] = lo_promo.IsAudit
  310. arg_ds.Object.AuditerID[row] = lo_promo.AuditerID
  311. arg_ds.Object.AuditTime[row] = lo_promo.AuditTime
  312. arg_ds.Object.StartTime[row] = lo_promo.StartTime
  313. arg_ds.Object.EndTime[row] = lo_promo.EndTime
  314. arg_ds.Object.PromoName[row] = lo_promo.PromoName
  315. arg_ds.Object.PromoTitle[row] = lo_promo.PromoTitle
  316. arg_ds.Object.PromoURL[row] = lo_promo.PromoURL
  317. arg_ds.Object.PromoRange[row] = lo_promo.PromoRange
  318. arg_ds.Object.PromoRemark[row] = lo_promo.PromoRemark
  319. arg_ds.Object.PromoCode[row] = lo_promo.PromoCode
  320. arg_ds.Object.NodeID[row] = lo_promo.NodeID
  321. arg_ds.Object.ProductID[row] = lo_promo.ProductID
  322. arg_ds.Object.ProCode[row] = lo_promo.ProCode
  323. arg_ds.Object.ProName[row] = lo_promo.ProName
  324. arg_ds.Object.ProMode[row] = lo_promo.ProMode
  325. arg_ds.Object.ProUnit[row] = lo_promo.ProUnit
  326. arg_ds.Object.IsPublic[row] = lo_promo.IsPublic
  327. arg_ds.Object.PromoType[row] = lo_promo.PromoType
  328. arg_ds.Object.MPrice[row] = lo_promo.MPrice
  329. arg_ds.Object.NPrice[row] = lo_promo.NPrice
  330. NEXT
  331. ext:
  332. Destroy ll_proxyfactory
  333. RETURN rslt
  334. end function
  335. public function integer uf_getindexvaluelist (long arg_indexid, ref string arg_msg);Int rslt = 1
  336. uo_aifmbproxy ll_proxyfactory
  337. ll_proxyfactory = Create uo_aifmbproxy
  338. oleobject lo_proxy
  339. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  340. rslt = 0
  341. GOTO ext
  342. END IF
  343. Long ll_cnt
  344. SELECT COUNT(0)
  345. INTO :ll_cnt
  346. FROM aifmb_IndexTrend
  347. Where IndexID = :arg_indexid;
  348. IF sqlca.SQLCode <> 0 THEN
  349. rslt = 0
  350. arg_msg = '查询指数值个数失败,' + sqlca.SQLErrText
  351. GOTO ext
  352. END IF
  353. DateTime ld_maxdt
  354. SetNull(ld_maxdt)
  355. IF ll_cnt > 0 THEN
  356. SELECT max(CDate)
  357. INTO :ld_maxdt
  358. FROM aifmb_IndexTrend
  359. Where IndexID = :arg_indexid;
  360. IF sqlca.SQLCode <> 0 THEN
  361. rslt = 0
  362. arg_msg = '查询指数值最大统计日期失败,' + sqlca.SQLErrText
  363. GOTO ext
  364. END IF
  365. END IF
  366. oleobject request
  367. request = lo_proxy.NewGetIndexValueListRequest()
  368. //request.Token = Token
  369. request.IndexID = String(arg_indexid)
  370. request.StartTime = ld_maxdt
  371. oleobject response
  372. response = lo_proxy.GetIndexValue(request)
  373. IF Not IsNull(response.ErrMsg) THEN
  374. rslt = 0
  375. arg_msg = response.ErrMsg
  376. GOTO ext
  377. END IF
  378. Long cnt
  379. cnt = response.IndexValueList.Count
  380. Long i
  381. oleobject lo_value
  382. DateTime l_CDate
  383. Decimal l_indexValue
  384. FOR i = 0 To cnt - 1
  385. lo_value = response.IndexValueList.GetItem(i)
  386. l_CDate = lo_value.CreatTime
  387. l_indexValue = lo_value.TheIndexValue
  388. INSERT INTO aifmb_IndexTrend
  389. (IndexID
  390. ,CDate
  391. ,IndexValue
  392. ,downloadtime)
  393. VALUES
  394. (:arg_indexid
  395. ,:l_CDate
  396. ,:l_IndexValue
  397. ,GETDATE());
  398. IF sqlca.SQLCode <> 0 THEN
  399. rslt = 0
  400. arg_msg = '插入指数值缓存表失败,' + sqlca.SQLErrText
  401. GOTO ext
  402. END IF
  403. NEXT
  404. ext:
  405. Destroy ll_proxyfactory
  406. IF rslt = 1 THEN
  407. COMMIT;
  408. ELSE
  409. ROLLBACK;
  410. END IF
  411. RETURN rslt
  412. end function
  413. public function integer uf_getindexvalue_del (long arg_indexid, ref string arg_msg);Int rslt = 1
  414. uo_aifmbproxy ll_proxyfactory
  415. ll_proxyfactory = Create uo_aifmbproxy
  416. oleobject lo_proxy
  417. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  418. rslt = 0
  419. GOTO ext
  420. END IF
  421. IF sys_email_sqlca.DBHandle() <= 0 THEN
  422. rslt = 0
  423. arg_msg = '未设置邮件数据库'
  424. GOTO ext
  425. END IF
  426. Long ll_cnt
  427. SELECT COUNT(0)
  428. INTO :ll_cnt
  429. FROM LJFIEB_ComInfo
  430. Using sys_email_sqlca;
  431. IF sys_email_sqlca.SQLCode <> 0 THEN
  432. rslt = 0
  433. arg_msg = '查询注册信息表失败,' + sys_email_sqlca.SQLErrText
  434. GOTO ext
  435. END IF
  436. IF ll_cnt = 0 THEN
  437. rslt = 0
  438. arg_msg = '请更新供应链后台以初始化数据库'
  439. GOTO ext
  440. END IF
  441. IF ll_cnt > 1 THEN
  442. rslt = 0
  443. arg_msg = '注册信息存在多条,异常'
  444. GOTO ext
  445. END IF
  446. String ls_CusID
  447. Long ins_userid
  448. String ins_psw
  449. SELECT CusID,
  450. userid,
  451. psw
  452. INTO :ls_CusID,
  453. :ins_userid,
  454. :ins_psw
  455. FROM LJFIEB_ComInfo
  456. Using sys_email_sqlca;
  457. IF sys_email_sqlca.SQLCode <> 0 THEN
  458. rslt = 0
  459. arg_msg = '查询企业注册信息失败,' + sys_email_sqlca.SQLErrText
  460. GOTO ext
  461. END IF
  462. IF ins_userid <= 0 THEN
  463. rslt = 0
  464. arg_msg = '企业未注册'
  465. GOTO ext
  466. END IF
  467. SELECT COUNT(0)
  468. INTO :ll_cnt
  469. FROM aifmb_IndexTrend
  470. Where IndexID = :arg_indexid;
  471. IF sqlca.SQLCode <> 0 THEN
  472. rslt = 0
  473. arg_msg = '查询指数值个数失败,' + sqlca.SQLErrText
  474. GOTO ext
  475. END IF
  476. DateTime ld_maxdt
  477. SetNull(ld_maxdt)
  478. IF ll_cnt > 0 THEN
  479. SELECT max(CDate)
  480. INTO :ld_maxdt
  481. FROM aifmb_IndexTrend
  482. Where IndexID = :arg_indexid;
  483. IF sqlca.SQLCode <> 0 THEN
  484. rslt = 0
  485. arg_msg = '查询指数值最大统计日期失败,' + sqlca.SQLErrText
  486. GOTO ext
  487. END IF
  488. END IF
  489. oleobject request
  490. request = lo_proxy.NewGetIndexValueRequest()
  491. request.EntID = ins_userid
  492. request.IndexID = arg_indexid
  493. request.MaxCDate = ld_maxdt
  494. oleobject response
  495. response = lo_proxy.GetIndexValue(request)
  496. IF Not IsNull(response.ErrMsg) THEN
  497. rslt = 0
  498. arg_msg = response.ErrMsg
  499. GOTO ext
  500. END IF
  501. Long cnt
  502. cnt = response.Values.COUNT
  503. Long i
  504. oleobject lo_value
  505. DateTime l_CDate
  506. Decimal l_indexValue
  507. FOR i = 0 To cnt - 1
  508. lo_value = response.Values.GetItem(i)
  509. l_CDate = lo_value.CDate
  510. l_indexValue = lo_value.indexValue
  511. INSERT INTO aifmb_IndexTrend
  512. (IndexID
  513. ,CDate
  514. ,IndexValue
  515. ,downloadtime)
  516. VALUES
  517. (:arg_indexid
  518. ,:l_CDate
  519. ,:l_IndexValue
  520. ,GETDATE());
  521. IF sqlca.SQLCode <> 0 THEN
  522. rslt = 0
  523. arg_msg = '插入指数值缓存表失败,' + sqlca.SQLErrText
  524. GOTO ext
  525. END IF
  526. NEXT
  527. ext:
  528. Destroy ll_proxyfactory
  529. IF rslt = 1 THEN
  530. COMMIT;
  531. ELSE
  532. ROLLBACK;
  533. END IF
  534. RETURN rslt
  535. end function
  536. public function integer uf_getindexdefinelist (ref string arg_msg);Int rslt = 1
  537. uo_aifmbproxy ll_proxyfactory
  538. ll_proxyfactory = Create uo_aifmbproxy
  539. oleobject lo_proxy
  540. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  541. rslt = 0
  542. GOTO ext
  543. END IF
  544. oleobject request
  545. request = lo_proxy.NewGetIndexDefineListRequest()
  546. IF Not IsNull(token) THEN
  547. IF token <> '' THEN
  548. request.token = token
  549. END IF
  550. END IF
  551. oleobject response
  552. response = lo_proxy.GetIndexDefineList(request)
  553. IF Not IsNull(response.ErrMsg) THEN
  554. rslt = 0
  555. arg_msg = response.ErrMsg
  556. GOTO ext
  557. END IF
  558. DateTime ld_server
  559. SELECT top 1 GETDATE()
  560. INTO :ld_server
  561. From u_user;
  562. IF sqlca.SQLCode <> 0 THEN
  563. rslt = 0
  564. arg_msg = '查询系统时间失败,' + sqlca.SQLErrText
  565. GOTO ext
  566. END IF
  567. Long cnt
  568. cnt = response.IndexDefineList.Count
  569. Long i
  570. oleobject lo_indexdefine
  571. Long l_IndexID
  572. String l_IndexCode
  573. String l_IndexName
  574. DateTime l_sys_changetime
  575. Long l_grade
  576. String l_ctype
  577. String l_cparam
  578. Long l_type
  579. FOR i = 0 To cnt - 1
  580. lo_indexdefine = response.IndexDefineList.GetItem(i)
  581. l_IndexID = lo_indexdefine.IndexID
  582. l_IndexCode = lo_indexdefine.IndexCode
  583. l_IndexName = lo_indexdefine.IndexName
  584. l_sys_changetime = lo_indexdefine.CreatTime
  585. l_grade = lo_indexdefine.IndexGrade
  586. l_ctype = lo_indexdefine.IntervalType
  587. l_cparam = lo_indexdefine.IntervalTime
  588. l_type = lo_indexdefine.IndexType
  589. UPDATE aifmb_Index
  590. SET IndexCode = :l_IndexCode
  591. ,IndexName = :l_IndexName
  592. ,sys_changetime = :l_sys_changetime
  593. ,grade = :l_grade
  594. ,ctype = :l_ctype
  595. ,cparam = :l_cparam
  596. ,type = :l_type
  597. ,downloadtime = GETDATE()
  598. ,ifdel = 0
  599. Where IndexID = :l_IndexID;
  600. IF sqlca.SQLCode <> 0 THEN
  601. rslt = 0
  602. arg_msg = '更新指数缓存表失败,' + sqlca.SQLErrText
  603. GOTO ext
  604. END IF
  605. IF sqlca.SQLNRows = 0 THEN
  606. INSERT INTO aifmb_Index
  607. (IndexID
  608. ,IndexCode
  609. ,IndexName
  610. ,sys_changetime
  611. ,grade
  612. ,ctype
  613. ,cparam
  614. ,type
  615. ,downloadtime)
  616. VALUES
  617. (:l_IndexID
  618. ,:l_IndexCode
  619. ,:l_IndexName
  620. ,:l_sys_changetime
  621. ,:l_grade
  622. ,:l_ctype
  623. ,:l_cparam
  624. ,:l_type
  625. ,GETDATE());
  626. IF sqlca.SQLCode <> 0 THEN
  627. rslt = 0
  628. arg_msg = '添加指数缓存表失败,' + sqlca.SQLErrText
  629. GOTO ext
  630. END IF
  631. END IF
  632. NEXT
  633. UPDATE aifmb_Index
  634. SET ifdel = 1
  635. Where downloadtime < :ld_server;
  636. IF sqlca.SQLCode <> 0 THEN
  637. rslt = 0
  638. arg_msg = '更新指数缓存表失败,' + sqlca.SQLErrText
  639. GOTO ext
  640. END IF
  641. ext:
  642. Destroy ll_proxyfactory
  643. IF rslt = 1 THEN
  644. COMMIT;
  645. ELSE
  646. ROLLBACK;
  647. END IF
  648. RETURN rslt
  649. end function
  650. public function integer uf_getallindexdefine_del (ref string arg_msg);Int rslt = 1
  651. uo_aifmbproxy ll_proxyfactory
  652. ll_proxyfactory = Create uo_aifmbproxy
  653. oleobject lo_proxy
  654. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  655. rslt = 0
  656. GOTO ext
  657. END IF
  658. IF sys_email_sqlca.DBHandle() <= 0 THEN
  659. rslt = 0
  660. arg_msg = '未设置邮件数据库'
  661. GOTO ext
  662. END IF
  663. Long ll_cnt
  664. SELECT COUNT(0)
  665. INTO :ll_cnt
  666. FROM LJFIEB_ComInfo
  667. Using sys_email_sqlca;
  668. IF sys_email_sqlca.SQLCode <> 0 THEN
  669. rslt = 0
  670. arg_msg = '查询注册信息表失败,' + sys_email_sqlca.SQLErrText
  671. GOTO ext
  672. END IF
  673. IF ll_cnt = 0 THEN
  674. rslt = 0
  675. arg_msg = '请更新供应链后台以初始化数据库'
  676. GOTO ext
  677. END IF
  678. IF ll_cnt > 1 THEN
  679. rslt = 0
  680. arg_msg = '注册信息存在多条,异常'
  681. GOTO ext
  682. END IF
  683. String ls_CusID
  684. Long ins_userid
  685. String ins_psw
  686. SELECT CusID,
  687. userid,
  688. psw
  689. INTO :ls_CusID,
  690. :ins_userid,
  691. :ins_psw
  692. FROM LJFIEB_ComInfo
  693. Using sys_email_sqlca;
  694. IF sys_email_sqlca.SQLCode <> 0 THEN
  695. rslt = 0
  696. arg_msg = '查询企业注册信息失败,' + sys_email_sqlca.SQLErrText
  697. GOTO ext
  698. END IF
  699. IF ins_userid <= 0 THEN
  700. rslt = 0
  701. arg_msg = '企业未注册'
  702. GOTO ext
  703. END IF
  704. oleobject request
  705. request = lo_proxy.NewGetAllIndexDefineRequest()
  706. request.EntID = ins_userid
  707. oleobject response
  708. response = lo_proxy.GetAllIndexDefine(request)
  709. IF Not IsNull(response.ErrMsg) THEN
  710. rslt = 0
  711. arg_msg = response.ErrMsg
  712. GOTO ext
  713. END IF
  714. DateTime ld_server
  715. SELECT top 1 GETDATE()
  716. INTO :ld_server
  717. From u_user;
  718. IF sqlca.SQLCode <> 0 THEN
  719. rslt = 0
  720. arg_msg = '查询系统时间失败,' + sqlca.SQLErrText
  721. GOTO ext
  722. END IF
  723. Long cnt
  724. cnt = response.Indexes.COUNT
  725. Long i
  726. oleobject lo_indexdefine
  727. Long l_IndexID
  728. String l_IndexCode
  729. String l_IndexName
  730. String l_dscrp
  731. DateTime l_sys_changetime
  732. Long l_grade
  733. String l_ctype
  734. String l_cparam
  735. Long l_type
  736. Long l_ProductID
  737. Long l_ifbook
  738. DateTime l_bookbegindate
  739. DateTime l_bookenddate
  740. FOR i = 0 To cnt - 1
  741. lo_indexdefine = response.Indexes.GetItem(i)
  742. l_IndexID = lo_indexdefine.IndexID
  743. l_IndexCode = lo_indexdefine.IndexCode
  744. l_IndexName = lo_indexdefine.IndexName
  745. l_dscrp = lo_indexdefine.dscrp
  746. l_sys_changetime = lo_indexdefine.sys_changetime
  747. l_grade = lo_indexdefine.grade
  748. l_ctype = lo_indexdefine.ctype
  749. l_cparam = lo_indexdefine.cparam
  750. l_type = lo_indexdefine.Type
  751. l_ProductID = lo_indexdefine.ProductID
  752. l_ifbook = lo_indexdefine.ifbook
  753. l_bookbegindate = lo_indexdefine.bookbegindate
  754. l_bookenddate = lo_indexdefine.bookenddate
  755. UPDATE aifmb_Index
  756. SET IndexCode = :l_IndexCode
  757. ,IndexName = :l_IndexName
  758. ,dscrp = :l_dscrp
  759. ,sys_changetime = :l_sys_changetime
  760. ,grade = :l_grade
  761. ,ctype = :l_ctype
  762. ,cparam = :l_cparam
  763. ,type = :l_type
  764. ,ProductID = :l_ProductID
  765. ,ifbook = :l_ifbook
  766. ,bookbegindate = :l_bookbegindate
  767. ,bookenddate = :l_bookenddate
  768. ,downloadtime = GETDATE()
  769. ,ifdel = 0
  770. Where IndexID = :l_IndexID;
  771. IF sqlca.SQLCode <> 0 THEN
  772. rslt = 0
  773. arg_msg = '更新指数缓存表失败,' + sqlca.SQLErrText
  774. GOTO ext
  775. END IF
  776. IF sqlca.SQLNRows = 0 THEN
  777. INSERT INTO aifmb_Index
  778. (IndexID
  779. ,IndexCode
  780. ,IndexName
  781. ,dscrp
  782. ,sys_changetime
  783. ,grade
  784. ,ctype
  785. ,cparam
  786. ,type
  787. ,ProductID
  788. ,ifbook
  789. ,bookbegindate
  790. ,bookenddate
  791. ,downloadtime)
  792. VALUES
  793. (:l_IndexID
  794. ,:l_IndexCode
  795. ,:l_IndexName
  796. ,:l_dscrp
  797. ,:l_sys_changetime
  798. ,:l_grade
  799. ,:l_ctype
  800. ,:l_cparam
  801. ,:l_type
  802. ,:l_ProductID
  803. ,:l_ifbook
  804. ,:l_bookbegindate
  805. ,:l_bookenddate
  806. ,GETDATE());
  807. IF sqlca.SQLCode <> 0 THEN
  808. rslt = 0
  809. arg_msg = '添加指数缓存表失败,' + sqlca.SQLErrText
  810. GOTO ext
  811. END IF
  812. END IF
  813. NEXT
  814. UPDATE aifmb_Index
  815. SET ifdel = 1
  816. Where downloadtime < :ld_server;
  817. IF sqlca.SQLCode <> 0 THEN
  818. rslt = 0
  819. arg_msg = '更新指数缓存表失败,' + sqlca.SQLErrText
  820. GOTO ext
  821. END IF
  822. ext:
  823. Destroy ll_proxyfactory
  824. IF rslt = 1 THEN
  825. COMMIT;
  826. ELSE
  827. ROLLBACK;
  828. END IF
  829. RETURN rslt
  830. end function
  831. public function integer uf_getproductcodelist (boolean arg_isstandard, datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  832. uo_aifmbproxy ll_proxyfactory
  833. ll_proxyfactory = Create uo_aifmbproxy
  834. oleobject lo_proxy
  835. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  836. rslt = 0
  837. GOTO ext
  838. END IF
  839. oleobject request
  840. request = lo_proxy.NewGetProductCodeListRequest()
  841. IF Not IsNull(Token) And Token <> '' THEN
  842. request.Token = Token
  843. END IF
  844. request.IsStandard = arg_isstandard
  845. request.KeyWord = arg_keyword
  846. IF Not IsNull(arg_starttime) THEN
  847. request.StartTime = arg_starttime
  848. END IF
  849. IF Not IsNull(arg_endtime) THEN
  850. request.EndTime = arg_endtime
  851. END IF
  852. String ls_nodeids = ''
  853. Long i
  854. IF Not IsNull(arg_nodeid_arr) THEN
  855. IF UpperBound(arg_nodeid_arr) > 0 THEN
  856. ls_nodeids = String(arg_nodeid_arr[1])
  857. FOR i = 2 To UpperBound(arg_nodeid_arr)
  858. ls_nodeids += ',' + String(arg_nodeid_arr[i])
  859. NEXT
  860. request.NodeID = ls_nodeids
  861. END IF
  862. END IF
  863. oleobject response
  864. response = lo_proxy.GetProductCodeList(request)
  865. IF Not IsNull(response.ErrMsg) THEN
  866. rslt = 0
  867. arg_msg = response.ErrMsg
  868. GOTO ext
  869. END IF
  870. IF Not IsValid(arg_ds) THEN
  871. arg_ds = Create datastore
  872. END IF
  873. IF arg_ds.DataObject <> 'ds_aifmb_productcode' THEN
  874. arg_ds.DataObject = 'ds_aifmb_productcode'
  875. END IF
  876. Long cnt, row
  877. //long l_ProductID
  878. // string l_CustCode
  879. // long l_NodeID
  880. // long l_mtrlid
  881. // string l_mtrlcode
  882. // string l_mtrlname
  883. // string l_mtrlmode
  884. // string l_unit
  885. // decimal l_net_weight
  886. // decimal l_gross_weight
  887. // decimal l_cubage
  888. // string l_mtrlengname
  889. // DateTime l_sys_changetime
  890. // string l_dscrp
  891. // long l_isuse
  892. // boolean l_isStandard
  893. // string l_QualityDscrp
  894. cnt = response.ProductCodeList.Count
  895. oleobject lo_productcode
  896. FOR i = 0 To cnt - 1
  897. lo_productcode = response.ProductCodeList.GetItem(i)
  898. row = arg_ds.InsertRow(0)
  899. // l_ProductID = lo_productcode.ProductID
  900. // l_CustCode = lo_productcode.CustCode
  901. // l_NodeID = lo_productcode.NodeID
  902. // l_mtrlid = lo_productcode.mtrlid
  903. // l_mtrlcode = lo_productcode.mtrlcode
  904. // l_mtrlname = lo_productcode.mtrlname
  905. // l_mtrlmode = lo_productcode.mtrlmode
  906. // l_unit = lo_productcode.unit
  907. // l_net_weight = lo_productcode.net_weight
  908. // l_gross_weight = lo_productcode.gross_weight
  909. // l_cubage = lo_productcode.cubage
  910. // l_mtrlengname = lo_productcode.mtrlengname
  911. // l_sys_changetime = lo_productcode.sys_changetime
  912. // l_dscrp = lo_productcode.dscrp
  913. // l_isuse = lo_productcode.isuse
  914. // l_isStandard = lo_productcode.isStandard
  915. // l_QualityDscrp = lo_productcode.QualityDscrp
  916. arg_ds.Object.ProductID[row] = lo_productcode.ProductID
  917. arg_ds.Object.CustCode[row] = lo_productcode.CustCode
  918. arg_ds.Object.NodeID[row] = lo_productcode.NodeID
  919. arg_ds.Object.mtrlid[row] = lo_productcode.mtrlid
  920. arg_ds.Object.mtrlcode[row] = lo_productcode.mtrlcode
  921. arg_ds.Object.mtrlname[row] = lo_productcode.mtrlname
  922. arg_ds.Object.mtrlmode[row] = lo_productcode.mtrlmode
  923. arg_ds.Object.unit[row] = lo_productcode.unit
  924. arg_ds.Object.net_weight[row] = lo_productcode.net_weight
  925. arg_ds.Object.gross_weight[row] = lo_productcode.gross_weight
  926. arg_ds.Object.cubage[row] = lo_productcode.cubage
  927. arg_ds.Object.mtrlengname[row] = lo_productcode.mtrlengname
  928. arg_ds.Object.sys_changetime[row] = lo_productcode.sys_changetime
  929. arg_ds.Object.dscrp[row] = lo_productcode.dscrp
  930. arg_ds.Object.isuse[row] = lo_productcode.isuse
  931. IF lo_productcode.IsStandard = True THEN
  932. arg_ds.Object.IsStandard[row] = 1
  933. ELSE
  934. arg_ds.Object.IsStandard[row] = 0
  935. END IF
  936. arg_ds.Object.QualityDscrp[row] = lo_productcode.QualityDscrp
  937. NEXT
  938. ext:
  939. Destroy ll_proxyfactory
  940. IF rslt = 1 THEN
  941. COMMIT;
  942. ELSE
  943. ROLLBACK;
  944. END IF
  945. RETURN rslt
  946. end function
  947. private function integer pf_gettoken (ref string arg_msg);// 获取Token
  948. Int rslt = 1
  949. uo_aifmbproxy ll_proxyfactory
  950. ll_proxyfactory = Create uo_aifmbproxy
  951. oleobject lo_proxy
  952. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  953. rslt = 0
  954. GOTO ext
  955. END IF
  956. oleobject request
  957. request = lo_proxy.NewGetTokenRequest()
  958. oleobject response
  959. response = lo_proxy.GetToken(request)
  960. IF Not IsNull(response.ErrMsg) THEN
  961. rslt = 0
  962. arg_msg = response.ErrMsg
  963. GOTO ext
  964. END IF
  965. token = response.Token
  966. ext:
  967. Destroy ll_proxyfactory
  968. RETURN rslt
  969. end function
  970. public function integer uf_authcode (ref blob arg_pic, ref string arg_msg);Int rslt = 1
  971. uo_aifmbproxy ll_proxyfactory
  972. ll_proxyfactory = Create uo_aifmbproxy
  973. oleobject lo_proxy
  974. IF IsNull(token) Or token = '' THEN
  975. IF pf_GetToken(arg_msg) <> 1 THEN
  976. GOTO ext
  977. END IF
  978. END IF
  979. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  980. rslt = 0
  981. GOTO ext
  982. END IF
  983. oleobject request
  984. request = lo_proxy.NewAuthCodeRequest()
  985. request.Token = token
  986. oleobject response
  987. response = lo_proxy.AuthCode(request)
  988. IF Not IsNull(response.ErrMsg) THEN
  989. rslt = 0
  990. arg_msg = response.ErrMsg
  991. GOTO ext
  992. END IF
  993. arg_pic = response.img
  994. ext:
  995. Destroy ll_proxyfactory
  996. RETURN rslt
  997. end function
  998. public function integer uf_userlogin (string arg_username, string arg_psw, string arg_authcode, ref string arg_msg);Int rslt = 1
  999. String ls_tmp
  1000. uo_aifmbproxy ll_proxyfactory
  1001. ll_proxyfactory = Create uo_aifmbproxy
  1002. oleobject lo_proxy
  1003. IF IsNull(token) Or token = '' THEN
  1004. IF pf_GetToken(arg_msg) <> 1 THEN
  1005. rslt = 0
  1006. GOTO ext
  1007. END IF
  1008. END IF
  1009. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1010. rslt = 0
  1011. GOTO ext
  1012. END IF
  1013. oleobject request
  1014. request = lo_proxy.NewUserLoginRequest()
  1015. request.token = token
  1016. request.logname = arg_username
  1017. request.psw = arg_psw
  1018. request.authCode = arg_authcode
  1019. oleobject response
  1020. response = lo_proxy.UserLogin(request)
  1021. IF Not IsNull(response.ErrMsg) THEN
  1022. rslt = 0
  1023. arg_msg = response.ErrMsg
  1024. GOTO ext
  1025. END IF
  1026. IF response.LoginSuccess <> True THEN
  1027. rslt = 0
  1028. arg_msg = '登陆失败'
  1029. GOTO ext
  1030. END IF
  1031. UPDATE u_user SET
  1032. aifmb_logname = :arg_username,
  1033. aifmb_logpsw = :arg_psw
  1034. WHERE scid = :sys_scid
  1035. AND empid = :sys_empid
  1036. Using sqlca;
  1037. IF sqlca.SQLCode <> 0 THEN
  1038. rslt = 0
  1039. arg_msg = '绑定操作用户失败,' + sqlca.SQLErrText
  1040. GOTO ext
  1041. END IF
  1042. IF response.EntID <> local_userid THEN
  1043. rslt = 0
  1044. arg_msg = '不能以其它企业账号登录'
  1045. GOTO ext
  1046. END IF
  1047. Long ll_entid
  1048. Long ll_ReceiveMsg
  1049. ll_entid = response.EntID
  1050. UPDATE u_EntLinkStatus
  1051. SET isAsiaUser = 1
  1052. Where EntID = :ll_entid;
  1053. IF sqlca.SQLCode <> 0 THEN
  1054. rslt = 0
  1055. arg_msg = '更新连接亚洲国际标记失败,' + sqlca.SQLErrText
  1056. GOTO ext
  1057. END IF
  1058. IF sqlca.SQLNRows = 0 THEN
  1059. INSERT INTO u_EntLinkStatus(EntID,isAsiaUser,SoftType,LinkType,ReceiveMsg)
  1060. Values(:ll_entid,1,:sys_project + 1,1,0);
  1061. IF sqlca.SQLCode <> 0 THEN
  1062. rslt = 0
  1063. arg_msg = '接入连接亚洲国际标记失败,' + sqlca.SQLErrText
  1064. GOTO ext
  1065. END IF
  1066. END IF
  1067. SELECT ReceiveMsg
  1068. INTO :ll_ReceiveMsg
  1069. FROM u_EntLinkStatus
  1070. Where EntID = :ll_entid;
  1071. IF sqlca.SQLCode <> 0 THEN
  1072. rslt = 0
  1073. arg_msg = '查询企业是否接收消息失败,' + sqlca.SQLErrText
  1074. GOTO ext
  1075. END IF
  1076. EntID = response.EntID
  1077. EntName = response.EntName
  1078. UserID = response.UserID
  1079. LoginName = response.LoginName
  1080. UserName = response.UserName
  1081. Powers = response.Powers
  1082. IF Not IsNull(response.tele) THEN tele = response.tele
  1083. IF Not IsNull(response.phone) THEN phone = response.phone
  1084. IF Not IsNull(response.email) THEN email = response.email
  1085. IF Not IsNull(response.QQ) THEN QQ = response.QQ
  1086. LoginSuccess = response.LoginSuccess
  1087. IF IsNull(response.auditflag) THEN
  1088. auditflag = 0
  1089. ELSE
  1090. auditflag = response.auditflag
  1091. END IF
  1092. ext:
  1093. Destroy ll_proxyfactory
  1094. IF rslt = 1 THEN
  1095. COMMIT;
  1096. // DONE: 获取本企业是否接收提醒
  1097. uf_setentlinkstatus(ll_ReceiveMsg, ls_tmp)
  1098. ELSE
  1099. ROLLBACK;
  1100. END IF
  1101. RETURN rslt
  1102. end function
  1103. public function integer uf_getlocaluserid (ref long arg_localuserid, ref string arg_msg);Int rslt = 1
  1104. IF local_userid <= 0 THEN
  1105. IF pf_getlocalcominfo(arg_msg) <> 1 THEN
  1106. rslt = 0
  1107. GOTO ext
  1108. END IF
  1109. END IF
  1110. IF local_userid <= 0 THEN
  1111. rslt = 0
  1112. arg_msg = '企业未注册'
  1113. GOTO ext
  1114. END IF
  1115. arg_localuserid = local_userid
  1116. ext:
  1117. RETURN rslt
  1118. end function
  1119. public function integer uf_getbuyinfolist (datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  1120. uo_aifmbproxy ll_proxyfactory
  1121. ll_proxyfactory = Create uo_aifmbproxy
  1122. oleobject lo_proxy
  1123. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1124. rslt = 0
  1125. GOTO ext
  1126. END IF
  1127. oleobject request
  1128. request = lo_proxy.NewGetBuyInfoListRequest()
  1129. IF Not IsNull(Token) And Token <> '' THEN
  1130. request.Token = Token
  1131. END IF
  1132. request.KeyWord = arg_keyword
  1133. IF Not IsNull(arg_starttime) THEN
  1134. request.StartTime = arg_starttime
  1135. END IF
  1136. IF Not IsNull(arg_endtime) THEN
  1137. request.EndTime = arg_endtime
  1138. END IF
  1139. String ls_nodeids = ''
  1140. Long i
  1141. IF Not IsNull(arg_nodeid_arr) THEN
  1142. IF UpperBound(arg_nodeid_arr) > 0 THEN
  1143. ls_nodeids = String(arg_nodeid_arr[1])
  1144. FOR i = 2 To UpperBound(arg_nodeid_arr)
  1145. ls_nodeids += ',' + String(arg_nodeid_arr[i])
  1146. NEXT
  1147. request.NodeID = ls_nodeids
  1148. END IF
  1149. END IF
  1150. String ls_entids = ''
  1151. IF Not IsNull(arg_entid_arr) THEN
  1152. IF UpperBound(arg_entid_arr) > 0 THEN
  1153. ls_entids = String(arg_entid_arr[1])
  1154. FOR i = 2 To UpperBound(arg_entid_arr)
  1155. ls_entids += ',' + String(arg_entid_arr[i])
  1156. NEXT
  1157. request.EntID = ls_entids
  1158. END IF
  1159. END IF
  1160. oleobject response
  1161. response = lo_proxy.GetBuyInfoList(request)
  1162. IF Not IsNull(response.ErrMsg) THEN
  1163. rslt = 0
  1164. arg_msg = response.ErrMsg
  1165. GOTO ext
  1166. END IF
  1167. IF Not IsValid(arg_ds) THEN
  1168. arg_ds = Create datastore
  1169. END IF
  1170. IF arg_ds.DataObject <> 'ds_aifmb_buyinfo' THEN
  1171. arg_ds.DataObject = 'ds_aifmb_buyinfo'
  1172. END IF
  1173. Long cnt, row
  1174. cnt = response.BuyInfoList.Count
  1175. oleobject lo_productcode
  1176. FOR i = 0 To cnt - 1
  1177. lo_productcode = response.BuyInfoList.GetItem(i)
  1178. row = arg_ds.InsertRow(0)
  1179. arg_ds.Object.BuyID[row] = lo_productcode.BuyID
  1180. arg_ds.Object.EntID[row] = lo_productcode.EntID
  1181. arg_ds.Object.CreaterID[row] = lo_productcode.CreaterID
  1182. arg_ds.Object.CreatTime[row] = lo_productcode.CreatTime
  1183. arg_ds.Object.IsAudit[row] = lo_productcode.IsAudit
  1184. arg_ds.Object.AuditerID[row] = lo_productcode.AuditerID
  1185. arg_ds.Object.AuditTime[row] = lo_productcode.AuditTime
  1186. arg_ds.Object.StartTime[row] = lo_productcode.StartTime
  1187. arg_ds.Object.EndTime[row] = lo_productcode.EndTime
  1188. arg_ds.Object.BuyCode[row] = lo_productcode.BuyCode
  1189. arg_ds.Object.BuyName[row] = lo_productcode.BuyName
  1190. arg_ds.Object.BuyTitle[row] = lo_productcode.BuyTitle
  1191. arg_ds.Object.BuyURL[row] = lo_productcode.BuyURL
  1192. arg_ds.Object.BuyRange[row] = lo_productcode.BuyRange
  1193. arg_ds.Object.BuyRemark[row] = lo_productcode.BuyRemark
  1194. arg_ds.Object.MonthlyUse[row] = lo_productcode.MonthlyUse
  1195. arg_ds.Object.DesiredPrice[row] = lo_productcode.DesiredPrice
  1196. arg_ds.Object.Quality[row] = lo_productcode.Quality
  1197. arg_ds.Object.NodeID[row] = lo_productcode.NodeID
  1198. arg_ds.Object.StandardCode[row] = lo_productcode.StandardCode
  1199. arg_ds.Object.ProductID[row] = lo_productcode.ProductID
  1200. arg_ds.Object.ProCode[row] = lo_productcode.ProCode
  1201. arg_ds.Object.ProName[row] = lo_productcode.ProName
  1202. arg_ds.Object.ProMode[row] = lo_productcode.ProMode
  1203. arg_ds.Object.ProUnit[row] = lo_productcode.ProUnit
  1204. IF lo_productcode.IsPublic = True THEN
  1205. arg_ds.Object.IsPublic[row] = 1
  1206. ELSE
  1207. arg_ds.Object.IsPublic[row] = 0
  1208. END IF
  1209. NEXT
  1210. ext:
  1211. Destroy ll_proxyfactory
  1212. RETURN rslt
  1213. end function
  1214. public function integer uf_removeproductentrelation (long arg_relactionid, ref string arg_msg);Int rslt = 1
  1215. uo_aifmbproxy ll_proxyfactory
  1216. ll_proxyfactory = Create uo_aifmbproxy
  1217. oleobject lo_proxy
  1218. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1219. rslt = 0
  1220. GOTO ext
  1221. END IF
  1222. oleobject request
  1223. request = lo_proxy.NewRemoveProductEntRelationRequest()
  1224. IF Not IsNull(Token) And Token <> '' THEN
  1225. request.Token = Token
  1226. END IF
  1227. request.RelationID = arg_relactionid
  1228. oleobject response
  1229. response = lo_proxy.RemoveProductEntRelation(request)
  1230. IF Not IsNull(response.ErrMsg) THEN
  1231. rslt = 0
  1232. arg_msg = response.ErrMsg
  1233. GOTO ext
  1234. END IF
  1235. ext:
  1236. Destroy ll_proxyfactory
  1237. IF rslt = 1 THEN
  1238. COMMIT;
  1239. ELSE
  1240. ROLLBACK;
  1241. END IF
  1242. RETURN rslt
  1243. end function
  1244. public function integer uf_addmodproductentrelation (ref s_aifmb_addmodproductentrelation arg_s_tran, ref string arg_msg);Int rslt = 1
  1245. uo_aifmbproxy ll_proxyfactory
  1246. ll_proxyfactory = Create uo_aifmbproxy
  1247. oleobject lo_proxy
  1248. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1249. rslt = 0
  1250. GOTO ext
  1251. END IF
  1252. oleobject request
  1253. request = lo_proxy.NewAddModProductEntRelationRequest()
  1254. IF Not IsNull(Token) And Token <> '' THEN
  1255. request.Token = Token
  1256. END IF
  1257. request.RelationID = arg_s_tran.RelationID
  1258. request.NodeID = arg_s_tran.NodeID
  1259. request.mtrlid = arg_s_tran.mtrlid
  1260. request.mtrlcode = arg_s_tran.mtrlcode
  1261. request.mtrlname = arg_s_tran.mtrlname
  1262. request.mtrlmode = arg_s_tran.mtrlmode
  1263. request.unit = arg_s_tran.unit
  1264. request.net_weight = arg_s_tran.net_weight
  1265. request.gross_weight = arg_s_tran.gross_weight
  1266. request.cubage = arg_s_tran.cubage
  1267. request.mtrlengname = arg_s_tran.mtrlengname
  1268. request.dscrp = arg_s_tran.dscrp
  1269. request.QualityDscrp = arg_s_tran.QualityDscrp
  1270. request.CustomCode = arg_s_tran.CustomCode
  1271. request.MPrice = arg_s_tran.MPrice
  1272. request.NPrice = arg_s_tran.NPrice
  1273. request.isPublic = arg_s_tran.isPublic
  1274. request.ProductID = arg_s_tran.ProductID
  1275. Long i
  1276. oleobject obj
  1277. oleobject list
  1278. list = lo_proxy.NewArrOfIProductAnnexData()
  1279. FOR i = 1 To UpperBound(arg_s_tran.pics)
  1280. obj = lo_proxy.NewProductAnnexData()
  1281. obj.AnnexName = arg_s_tran.pics[i].Label
  1282. obj.Pic = arg_s_tran.pics[i].Data
  1283. list.Add(obj)
  1284. NEXT
  1285. request.ProductAnnexList = list
  1286. oleobject response
  1287. response = lo_proxy.AddModProductEntRelation(request)
  1288. IF Not IsNull(response.ErrMsg) THEN
  1289. rslt = 0
  1290. arg_msg = response.ErrMsg
  1291. GOTO ext
  1292. END IF
  1293. arg_s_tran.RelationID = response.RelationID
  1294. arg_s_tran.ProductID = response.ProductID
  1295. ext:
  1296. Destroy ll_proxyfactory
  1297. RETURN rslt
  1298. end function
  1299. public function integer uf_setpromotions (ref s_aifmb_promotions arg_promotions_arr[], ref string arg_msg);Int rslt = 1
  1300. uo_aifmbproxy ll_proxyfactory
  1301. ll_proxyfactory = Create uo_aifmbproxy
  1302. oleobject lo_proxy
  1303. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1304. rslt = 0
  1305. GOTO ext
  1306. END IF
  1307. oleobject request
  1308. request = lo_proxy.NewSetPromotionsRequest()
  1309. IF Not IsNull(Token) And Token <> '' THEN
  1310. request.Token = Token
  1311. END IF
  1312. oleobject lo_list
  1313. oleobject lo_promotions
  1314. lo_list = lo_proxy.NewArrOfIPromotions()
  1315. oleobject lo_list_pics
  1316. lo_list_pics = lo_proxy.NewArrOfIArrOfIProductAnnexData()
  1317. oleobject lo_list_pic
  1318. oleobject lo_pic
  1319. Long i, j
  1320. FOR i = 1 To UpperBound(arg_promotions_arr)
  1321. lo_promotions = lo_proxy.NewPromotions()
  1322. IF arg_promotions_arr[i].PromoID > 0 THEN
  1323. lo_promotions.PromoID = arg_promotions_arr[i].PromoID
  1324. END IF
  1325. lo_promotions.EntID = arg_promotions_arr[i].EntID
  1326. lo_promotions.CreaterID = arg_promotions_arr[i].CreaterID
  1327. // lo_promotions.CreatTime = arg_promotions_arr[i].CreatTime
  1328. lo_promotions.IsAudit = arg_promotions_arr[i].IsAudit
  1329. lo_promotions.AuditerID = arg_promotions_arr[i].AuditerID
  1330. // lo_promotions.AuditTime = arg_promotions_arr[i].AuditTime
  1331. IF Not IsNull(arg_promotions_arr[i].StartTime) THEN
  1332. lo_promotions.StartTime = arg_promotions_arr[i].StartTime
  1333. END IF
  1334. IF Not IsNull(arg_promotions_arr[i].EndTime) THEN
  1335. lo_promotions.EndTime = arg_promotions_arr[i].EndTime
  1336. END IF
  1337. lo_promotions.PromoName = arg_promotions_arr[i].PromoName
  1338. lo_promotions.PromoTitle = arg_promotions_arr[i].PromoTitle
  1339. lo_promotions.PromoURL = arg_promotions_arr[i].PromoURL
  1340. lo_promotions.PromoRange = arg_promotions_arr[i].PromoRange
  1341. lo_promotions.PromoRemark = arg_promotions_arr[i].PromoRemark
  1342. lo_promotions.PromoCode = arg_promotions_arr[i].PromoCode
  1343. lo_promotions.NodeID = arg_promotions_arr[i].NodeID
  1344. lo_promotions.ProductID = arg_promotions_arr[i].ProductID
  1345. lo_promotions.ProCode = arg_promotions_arr[i].ProCode
  1346. lo_promotions.ProName = arg_promotions_arr[i].ProName
  1347. lo_promotions.ProMode = arg_promotions_arr[i].ProMode
  1348. lo_promotions.ProUnit = arg_promotions_arr[i].ProUnit
  1349. lo_promotions.IsPublic = arg_promotions_arr[i].IsPublic
  1350. lo_promotions.PromoType = arg_promotions_arr[i].PromoType
  1351. lo_promotions.MPrice = arg_promotions_arr[i].MPrice
  1352. lo_promotions.NPrice = arg_promotions_arr[i].NPrice
  1353. lo_promotions.CreaterName = arg_promotions_arr[i].CreaterName
  1354. lo_promotions.CreaterPhone = arg_promotions_arr[i].CreaterPhone
  1355. lo_promotions.CreaterEmail = arg_promotions_arr[i].CreaterEmail
  1356. lo_promotions.CreaterQQ = arg_promotions_arr[i].CreaterQQ
  1357. lo_list.Add(lo_promotions)
  1358. lo_list_pic = lo_proxy.NewArrOfIProductAnnexData()
  1359. FOR j = 1 To UpperBound(arg_promotions_arr[i].pics)
  1360. lo_pic = lo_proxy.NewProductAnnexData()
  1361. lo_pic.AnnexName = arg_promotions_arr[i].pics[j].Label
  1362. lo_pic.Pic = arg_promotions_arr[i].pics[j].Data
  1363. lo_list_pic.Add(lo_pic)
  1364. NEXT
  1365. lo_list_pics.Add(lo_list_pic)
  1366. NEXT
  1367. request.Promotions = lo_list
  1368. request.ProductAnnexList = lo_list_pics
  1369. oleobject response
  1370. response = lo_proxy.SetPromotions(request)
  1371. IF Not IsNull(response.ErrMsg) THEN
  1372. rslt = 0
  1373. arg_msg = response.ErrMsg
  1374. GOTO ext
  1375. END IF
  1376. FOR i = 1 To UpperBound(arg_promotions_arr)
  1377. arg_promotions_arr[i].PromoID = response.PromoIDs.GetItem(i - 1)
  1378. NEXT
  1379. ext:
  1380. Destroy ll_proxyfactory
  1381. RETURN rslt
  1382. end function
  1383. public function integer uf_delbuyinfo (longlong arg_promoids[], ref string arg_msg);Int rslt = 1
  1384. uo_aifmbproxy ll_proxyfactory
  1385. ll_proxyfactory = Create uo_aifmbproxy
  1386. oleobject lo_proxy
  1387. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1388. rslt = 0
  1389. GOTO ext
  1390. END IF
  1391. oleobject request
  1392. request = lo_proxy.NewDelBuyInfoRequest()
  1393. IF Not IsNull(Token) And Token <> '' THEN
  1394. request.Token = Token
  1395. END IF
  1396. String ls_promoids
  1397. Long i
  1398. IF UpperBound(arg_promoids) > 0 THEN
  1399. ls_promoids = String(arg_promoids[1])
  1400. FOR i = 2 To UpperBound(arg_promoids)
  1401. ls_promoids += ',' + String(arg_promoids[i])
  1402. NEXT
  1403. request.BuyIDList = ls_promoids
  1404. ELSE
  1405. rslt = 0
  1406. arg_msg = '请选择要删除的促销'
  1407. GOTO ext
  1408. END IF
  1409. oleobject response
  1410. response = lo_proxy.DelBuyInfo(request)
  1411. IF Not IsNull(response.ErrMsg) THEN
  1412. rslt = 0
  1413. arg_msg = response.ErrMsg
  1414. GOTO ext
  1415. END IF
  1416. ext:
  1417. Destroy ll_proxyfactory
  1418. RETURN rslt
  1419. end function
  1420. public function integer uf_delpromotions (longlong arg_promoids[], ref string arg_msg);Int rslt = 1
  1421. uo_aifmbproxy ll_proxyfactory
  1422. ll_proxyfactory = Create uo_aifmbproxy
  1423. oleobject lo_proxy
  1424. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1425. rslt = 0
  1426. GOTO ext
  1427. END IF
  1428. oleobject request
  1429. request = lo_proxy.NewDelPromotionsRequest()
  1430. IF Not IsNull(Token) And Token <> '' THEN
  1431. request.Token = Token
  1432. END IF
  1433. String ls_promoids
  1434. Long i
  1435. IF UpperBound(arg_promoids) > 0 THEN
  1436. ls_promoids = String(arg_promoids[1])
  1437. FOR i = 2 To UpperBound(arg_promoids)
  1438. ls_promoids += ',' + String(arg_promoids[i])
  1439. NEXT
  1440. request.PromoIDs = ls_promoids
  1441. ELSE
  1442. rslt = 0
  1443. arg_msg = '请选择要删除的促销'
  1444. GOTO ext
  1445. END IF
  1446. oleobject response
  1447. response = lo_proxy.DelPromotions(request)
  1448. IF Not IsNull(response.ErrMsg) THEN
  1449. rslt = 0
  1450. arg_msg = response.ErrMsg
  1451. GOTO ext
  1452. END IF
  1453. ext:
  1454. Destroy ll_proxyfactory
  1455. RETURN rslt
  1456. end function
  1457. public function integer uf_userlogout (ref string arg_msg);Int rslt = 1
  1458. uo_aifmbproxy ll_proxyfactory
  1459. ll_proxyfactory = Create uo_aifmbproxy
  1460. oleobject lo_proxy
  1461. IF IsNull(token) Or token = '' THEN
  1462. IF pf_GetToken(arg_msg) <> 1 THEN
  1463. GOTO ext
  1464. END IF
  1465. END IF
  1466. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1467. rslt = 0
  1468. GOTO ext
  1469. END IF
  1470. oleobject request
  1471. request = lo_proxy.NewUserLogoutRequest()
  1472. request.token = token
  1473. oleobject response
  1474. response = lo_proxy.UserLogout(request)
  1475. IF Not IsNull(response.ErrMsg) THEN
  1476. rslt = 0
  1477. arg_msg = response.ErrMsg
  1478. GOTO ext
  1479. END IF
  1480. EntID = 0
  1481. EntName = ''
  1482. UserID = 0
  1483. LoginName = ''
  1484. UserName = ''
  1485. Powers = ''
  1486. LoginSuccess = false
  1487. auditflag = 0
  1488. tele = ''
  1489. phone = ''
  1490. email = ''
  1491. QQ = ''
  1492. ext:
  1493. Destroy ll_proxyfactory
  1494. RETURN rslt
  1495. end function
  1496. public function boolean sf_islogin ();if UserID > 0 then
  1497. return true
  1498. else
  1499. return false
  1500. end if
  1501. end function
  1502. public function string sf_loginname ();return loginname
  1503. end function
  1504. public function string sf_username ();return username
  1505. end function
  1506. public function long sf_userid ();return userid
  1507. end function
  1508. public function long sf_entid ();return entid
  1509. end function
  1510. public function string sf_entname ();return entname
  1511. end function
  1512. private function integer pf_getlocalcominfo (ref string arg_msg);int rslt = 1
  1513. if pf_resetcominfo(arg_msg) <> 1 then
  1514. rslt = 0
  1515. goto ext
  1516. end if
  1517. String ls_CusID
  1518. Long ins_userid
  1519. string username
  1520. String ins_psw
  1521. SELECT CusID,
  1522. userid,
  1523. psw,
  1524. username
  1525. INTO :ls_CusID,
  1526. :ins_userid,
  1527. :ins_psw,
  1528. :username
  1529. FROM LJFIEB_ComInfo
  1530. Using sys_email_sqlca;
  1531. IF sys_email_sqlca.SQLCode <> 0 THEN
  1532. rslt = 0
  1533. arg_msg = '查询企业注册信息失败,' + sys_email_sqlca.SQLErrText
  1534. GOTO ext
  1535. END IF
  1536. local_userid = ins_userid
  1537. local_username = username
  1538. local_cusid = ls_CusID
  1539. ext:
  1540. return rslt
  1541. end function
  1542. public function integer uf_getlocalusername (ref string arg_localusername, ref string arg_msg);Int rslt = 1
  1543. IF local_userid <= 0 THEN
  1544. IF pf_getlocalcominfo(arg_msg) <> 1 THEN
  1545. rslt = 0
  1546. GOTO ext
  1547. END IF
  1548. END IF
  1549. IF local_userid <= 0 THEN
  1550. rslt = 0
  1551. arg_msg = '企业未注册'
  1552. GOTO ext
  1553. END IF
  1554. arg_localusername = local_username
  1555. ext:
  1556. RETURN rslt
  1557. end function
  1558. public function integer uf_regcom (s_aifmb_regcomrequest arg_s_request, ref string arg_msg);Int rslt = 1
  1559. uo_aifmbproxy ll_proxyfactory
  1560. ll_proxyfactory = Create uo_aifmbproxy
  1561. IF sys_email_sqlca.DBHandle() <= 0 THEN
  1562. rslt = 0
  1563. arg_msg = '未设置邮件数据库'
  1564. GOTO ext
  1565. END IF
  1566. IF local_cusid = '' THEN
  1567. IF pf_getlocalcominfo(arg_msg) <> 1 THEN
  1568. rslt = 0
  1569. GOTO ext
  1570. END IF
  1571. END IF
  1572. IF local_cusid = '' THEN
  1573. rslt = 0
  1574. arg_msg = '请启动后台通信服务初始化通信数据库'
  1575. GOTO ext
  1576. END IF
  1577. oleobject lo_proxy
  1578. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1579. rslt = 0
  1580. GOTO ext
  1581. END IF
  1582. oleobject request
  1583. request = lo_proxy.NewRegComRequest()
  1584. request.CusID = local_cusid
  1585. request.username = arg_s_request.username
  1586. request.comcode = arg_s_request.comcode
  1587. request.psw = arg_s_request.psw
  1588. request.logname = arg_s_request.logname
  1589. request.repname = arg_s_request.repname
  1590. request.logpsw = arg_s_request.logpsw
  1591. request.tele = arg_s_request.tele
  1592. request.phone = arg_s_request.phone
  1593. request.Address = arg_s_request.Address
  1594. request.email = arg_s_request.email
  1595. request.QQ = arg_s_request.QQ
  1596. request.dscrp = arg_s_request.dscrp
  1597. request.UserType = arg_s_request.UserType
  1598. oleobject response
  1599. response = lo_proxy.RegCom(request)
  1600. IF Not IsNull(response.ErrMsg) THEN
  1601. rslt = 0
  1602. arg_msg = response.ErrMsg
  1603. GOTO ext
  1604. END IF
  1605. Long ll_userid
  1606. ll_userid = response.UserID
  1607. String username
  1608. String psw
  1609. String tele
  1610. String phone
  1611. String Address
  1612. String comcode
  1613. String usercode
  1614. String logname
  1615. String logpsw
  1616. usercode = response.usercode
  1617. username = arg_s_request.username
  1618. psw = arg_s_request.psw
  1619. tele = arg_s_request.tele
  1620. phone = arg_s_request.phone
  1621. Address = arg_s_request.Address
  1622. comcode = arg_s_request.comcode
  1623. logname = arg_s_request.logname
  1624. logpsw = arg_s_request.logpsw
  1625. UPDATE LJFIEB_ComInfo SET
  1626. username = :username,
  1627. psw = :psw,
  1628. tele = :tele,
  1629. phone = :phone,
  1630. address = :Address,
  1631. comcode = :comcode,
  1632. usercode = :usercode,
  1633. userid = :ll_userid,
  1634. logname = :logname,
  1635. logpsw = :logpsw
  1636. WHERE CusID = :local_cusid
  1637. Using sys_email_sqlca;
  1638. IF sys_email_sqlca.SQLCode <> 0 THEN
  1639. rslt = 0
  1640. arg_msg = '注册成功,但更新本地信息失败,' + sys_email_sqlca.SQLErrText
  1641. GOTO ext
  1642. END IF
  1643. IF sys_email_sqlca.sqlnrows = 0 THEN
  1644. rslt = 0
  1645. arg_msg = '企业本地信息不存在'
  1646. GOTO ext
  1647. END IF
  1648. UPDATE u_user SET
  1649. aifmb_logname = :logname,
  1650. aifmb_logpsw = :logpsw
  1651. WHERE scid = :sys_scid
  1652. AND Empid = :sys_empid
  1653. Using sqlca;
  1654. IF sqlca.SQLCode <> 0 THEN
  1655. rslt = 0
  1656. arg_msg = '绑定当前操作员失败,' + sqlca.SQLErrText
  1657. GOTO ext
  1658. END IF
  1659. if sqlca.sqlnrows = 0 then
  1660. rslt = 0
  1661. arg_msg = '绑定当前操作员失败'
  1662. goto ext
  1663. end if
  1664. pf_reset()
  1665. ext:
  1666. Destroy ll_proxyfactory
  1667. IF rslt = 1 THEN
  1668. COMMIT Using sys_email_sqlca;
  1669. COMMIT Using sqlca;
  1670. ELSE
  1671. ROLLBACK Using sys_email_sqlca;
  1672. ROLLBACK Using sqlca;
  1673. END IF
  1674. RETURN rslt
  1675. end function
  1676. public function integer uf_commatch (string arg_usercode, string arg_username, string arg_psw, ref string arg_msg);Int rslt = 1
  1677. uo_aifmbproxy ll_proxyfactory
  1678. ll_proxyfactory = Create uo_aifmbproxy
  1679. IF local_cusid = '' THEN
  1680. IF pf_getlocalcominfo(arg_msg) <> 1 THEN
  1681. rslt = 0
  1682. GOTO ext
  1683. END IF
  1684. END IF
  1685. IF local_cusid = '' THEN
  1686. rslt = 0
  1687. arg_msg = '请启动后台通信服务初始化通信数据库'
  1688. GOTO ext
  1689. END IF
  1690. oleobject lo_proxy
  1691. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1692. rslt = 0
  1693. GOTO ext
  1694. END IF
  1695. oleobject request
  1696. request = lo_proxy.NewComMatchRequest()
  1697. request.CusID = local_cusid
  1698. request.usercode = arg_usercode
  1699. request.username = arg_username
  1700. request.psw = arg_psw
  1701. oleobject response
  1702. response = lo_proxy.ComMatch(request)
  1703. IF Not IsNull(response.ErrMsg) THEN
  1704. rslt = 0
  1705. arg_msg = response.ErrMsg
  1706. GOTO ext
  1707. END IF
  1708. Long ll_userid
  1709. String usercode
  1710. String username
  1711. String psw
  1712. String tele
  1713. String phone
  1714. String Address
  1715. String email
  1716. String dscrp
  1717. String comcode
  1718. Long auditflag
  1719. ll_userid = response.UserID
  1720. comcode = response.comcode
  1721. tele = response.tele
  1722. phone = response.phone
  1723. Address = response.Address
  1724. email = response.email
  1725. dscrp = response.dscrp
  1726. auditflag = response.auditflag
  1727. String ls_rCusID
  1728. ls_rCusID = response.CusID
  1729. usercode = arg_usercode
  1730. username = arg_username
  1731. psw = arg_psw
  1732. UPDATE LJFIEB_ComInfo SET
  1733. username = :username,
  1734. psw = :psw,
  1735. tele = :tele,
  1736. phone = :phone,
  1737. address = :Address,
  1738. comcode = :comcode,
  1739. usercode = :usercode,
  1740. userid = :ll_userid
  1741. WHERE CusID = :local_cusid
  1742. Using sys_email_sqlca;
  1743. IF sys_email_sqlca.SQLCode <> 0 THEN
  1744. rslt = 0
  1745. arg_msg = '更新本地信息失败,' + sys_email_sqlca.SQLErrText
  1746. GOTO ext
  1747. END IF
  1748. IF local_cusid <> ls_rCusID THEN
  1749. UPDATE LJFIEB_ComInfo SET
  1750. CusID = :ls_rCusID
  1751. WHERE CusID = :local_cusid
  1752. Using sys_email_sqlca;
  1753. IF sys_email_sqlca.SQLCode <> 0 THEN
  1754. rslt = 0
  1755. arg_msg = '1.同步企业唯一码失败,' + sys_email_sqlca.SQLErrText
  1756. GOTO ext
  1757. END IF
  1758. UPDATE LJFIEB_CusComm SET
  1759. CusID = :ls_rCusID
  1760. WHERE CusID = :local_cusid
  1761. AND CusType = 0
  1762. Using sys_email_sqlca;
  1763. IF sys_email_sqlca.SQLCode <> 0 THEN
  1764. rslt = 0
  1765. arg_msg = '2.同步企业唯一码失败,' + sys_email_sqlca.SQLErrText
  1766. GOTO ext
  1767. END IF
  1768. END IF
  1769. pf_reset()
  1770. ext:
  1771. Destroy ll_proxyfactory
  1772. IF rslt = 1 THEN
  1773. COMMIT Using sys_email_sqlca;
  1774. ELSE
  1775. ROLLBACK Using sys_email_sqlca;
  1776. END IF
  1777. RETURN rslt
  1778. end function
  1779. public function integer uf_searchproductannexlist (long arg_relationid, long arg_pageindex, long arg_pagesize, ref s_aifmb_searchproductannex arg_annexlist[], ref string arg_msg);Int rslt = 1
  1780. uo_aifmbproxy ll_proxyfactory
  1781. ll_proxyfactory = Create uo_aifmbproxy
  1782. oleobject lo_proxy
  1783. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1784. rslt = 0
  1785. GOTO ext
  1786. END IF
  1787. oleobject request
  1788. request = lo_proxy.NewSearchProductAnnexListRequest()
  1789. IF Not IsNull(Token) And Token <> '' THEN
  1790. request.Token = Token
  1791. END IF
  1792. request.RelationID = arg_relationid
  1793. request.PageIndex = arg_pageindex
  1794. request.PageSize = arg_pagesize
  1795. oleobject response
  1796. response = lo_proxy.SearchProductAnnexList(request)
  1797. IF Not IsNull(response.ErrMsg) THEN
  1798. rslt = 0
  1799. arg_msg = response.ErrMsg
  1800. GOTO ext
  1801. END IF
  1802. Long cnt
  1803. cnt = response.SearchProductAnnexList.Count
  1804. Long i
  1805. oleobject lo_annex
  1806. s_aifmb_SearchProductAnnex arr_annex[]
  1807. Long k = 0
  1808. Any lb_pic
  1809. FOR i = 0 To cnt - 1
  1810. lo_annex = response.SearchProductAnnexList.GetItem(i)
  1811. k++
  1812. arr_annex[k].RelationID = lo_annex.RelationID
  1813. arr_annex[k].AnnexID = lo_annex.AnnexID
  1814. arr_annex[k].AnnexName = lo_annex.AnnexName
  1815. // arr_annex[k].AnnexPermission = lo_annex.AnnexPermission
  1816. // arr_annex[k].AnnexType = lo_annex.AnnexType
  1817. arr_annex[k].FileSuffix = lo_annex.FileSuffix
  1818. // arr_annex[k].FileSize = lo_annex.FileSize
  1819. arr_annex[k].Filename = lo_annex.Filename
  1820. arr_annex[k].FilePath = lo_annex.FilePath
  1821. lb_pic = lo_annex.Pic
  1822. IF ClassName(lb_pic) = 'blob' THEN
  1823. arr_annex[k].Pic = lb_pic
  1824. END IF
  1825. arr_annex[k].PicUrl = lo_annex.PicUrl
  1826. NEXT
  1827. arg_AnnexList = arr_annex
  1828. ext:
  1829. Destroy ll_proxyfactory
  1830. IF rslt = 1 THEN
  1831. COMMIT;
  1832. ELSE
  1833. ROLLBACK;
  1834. END IF
  1835. RETURN rslt
  1836. end function
  1837. public function integer uf_addproductannex (longlong arg_relationid, s_aifmb_productannexdata arg_s_pics[], ref string arg_msg);Int rslt = 1
  1838. uo_aifmbproxy ll_proxyfactory
  1839. ll_proxyfactory = Create uo_aifmbproxy
  1840. oleobject lo_proxy
  1841. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1842. rslt = 0
  1843. GOTO ext
  1844. END IF
  1845. oleobject request
  1846. request = lo_proxy.NewAddProductAnnexRequest()
  1847. IF Not IsNull(Token) And Token <> '' THEN
  1848. request.Token = Token
  1849. END IF
  1850. request.RelationID = arg_relationid
  1851. oleobject lo_list
  1852. oleobject lo_promotions
  1853. lo_list = lo_proxy.NewArrOfIProductAnnexData()
  1854. Long i
  1855. FOR i = 1 To UpperBound(arg_s_pics)
  1856. lo_promotions = lo_proxy.NewProductAnnexData()
  1857. lo_promotions.AnnexName = arg_s_pics[i].AnnexName
  1858. lo_promotions.Pic = arg_s_pics[i].Pic
  1859. lo_list.Add(lo_promotions)
  1860. NEXT
  1861. request.ProductAnnexList = lo_list
  1862. oleobject response
  1863. response = lo_proxy.AddProductAnnex(request)
  1864. IF Not IsNull(response.ErrMsg) THEN
  1865. rslt = 0
  1866. arg_msg = response.ErrMsg
  1867. GOTO ext
  1868. END IF
  1869. ext:
  1870. Destroy ll_proxyfactory
  1871. RETURN rslt
  1872. end function
  1873. public function integer uf_delproductannex (longlong arg_annexid[], ref string arg_msg);Int rslt = 1
  1874. uo_aifmbproxy ll_proxyfactory
  1875. ll_proxyfactory = Create uo_aifmbproxy
  1876. oleobject lo_proxy
  1877. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1878. rslt = 0
  1879. GOTO ext
  1880. END IF
  1881. oleobject request
  1882. request = lo_proxy.NewDelProductAnnexRequest()
  1883. IF Not IsNull(Token) And Token <> '' THEN
  1884. request.Token = Token
  1885. END IF
  1886. oleobject lo_list
  1887. lo_list = lo_proxy.NewArrOflong()
  1888. Long i
  1889. for i = 1 to upperbound(arg_annexid)
  1890. lo_list.Add(arg_annexid[i])
  1891. next
  1892. request.AnnexIDList = lo_list
  1893. oleobject response
  1894. response = lo_proxy.DelProductAnnex(request)
  1895. IF Not IsNull(response.ErrMsg) THEN
  1896. rslt = 0
  1897. arg_msg = response.ErrMsg
  1898. GOTO ext
  1899. END IF
  1900. ext:
  1901. Destroy ll_proxyfactory
  1902. RETURN rslt
  1903. end function
  1904. public function integer uf_requestquote (s_aifmb_requestquotedata arg_s_data[], ref string arg_msg);Int rslt = 1
  1905. uo_aifmbproxy ll_proxyfactory
  1906. ll_proxyfactory = Create uo_aifmbproxy
  1907. oleobject lo_proxy
  1908. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1909. rslt = 0
  1910. GOTO ext
  1911. END IF
  1912. oleobject request
  1913. request = lo_proxy.NewRequestQuoteRequest()
  1914. IF Not IsNull(Token) And Token <> '' THEN
  1915. request.Token = Token
  1916. END IF
  1917. oleobject lo_list
  1918. oleobject lo_promotions
  1919. lo_list = lo_proxy.NewArrOfIRequestQuoteData()
  1920. Long i
  1921. FOR i = 1 To UpperBound(arg_s_data)
  1922. lo_promotions = lo_proxy.NewRequestQuoteData()
  1923. lo_promotions.ProductID = arg_s_data[i].ProductID
  1924. lo_promotions.Reason = arg_s_data[i].Reason
  1925. lo_promotions.SaleQuantity = arg_s_data[i].SaleQuantity
  1926. lo_promotions.Capacity = arg_s_data[i].Capacity
  1927. lo_list.Add(lo_promotions)
  1928. NEXT
  1929. request.RequestQuotes = lo_list
  1930. oleobject response
  1931. response = lo_proxy.RequestQuote(request)
  1932. IF Not IsNull(response.ErrMsg) THEN
  1933. rslt = 0
  1934. arg_msg = response.ErrMsg
  1935. GOTO ext
  1936. END IF
  1937. ext:
  1938. Destroy ll_proxyfactory
  1939. RETURN rslt
  1940. end function
  1941. public function integer uf_getrequestquoteanswer (ref s_aifmb_getrequestquoteanswerdata s_data[], ref string arg_msg);Int rslt = 1
  1942. uo_aifmbproxy ll_proxyfactory
  1943. ll_proxyfactory = Create uo_aifmbproxy
  1944. oleobject lo_proxy
  1945. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  1946. rslt = 0
  1947. GOTO ext
  1948. END IF
  1949. oleobject request
  1950. request = lo_proxy.NewGetRequestQuoteAnswerRequest()
  1951. IF Not IsNull(Token) And Token <> '' THEN
  1952. request.Token = Token
  1953. END IF
  1954. oleobject response
  1955. response = lo_proxy.GetRequestQuoteAnswer(request)
  1956. IF Not IsNull(response.ErrMsg) THEN
  1957. rslt = 0
  1958. arg_msg = response.ErrMsg
  1959. GOTO ext
  1960. END IF
  1961. Long cnt,i
  1962. cnt = response.AnswerList.Count
  1963. oleobject lo_productcode
  1964. s_aifmb_getrequestquoteanswerdata s_rslt[]
  1965. int j = 0
  1966. FOR i = 0 To cnt - 1
  1967. lo_productcode = response.AnswerList.GetItem(i)
  1968. j++
  1969. s_rslt[j].ProductID = lo_productcode.ProductID
  1970. s_rslt[j].AcceptFlag = lo_productcode.AcceptFlag
  1971. s_rslt[j].RejectReason = lo_productcode.RejectReason
  1972. NEXT
  1973. s_data = s_rslt
  1974. ext:
  1975. Destroy ll_proxyfactory
  1976. IF rslt = 1 THEN
  1977. COMMIT;
  1978. ELSE
  1979. ROLLBACK;
  1980. END IF
  1981. RETURN rslt
  1982. end function
  1983. public function integer uf_sync_node (ref string arg_msg);Int rslt = 1
  1984. uo_aifmbproxy uo_factory
  1985. uo_factory = Create uo_aifmbproxy
  1986. oleobject ll_proxy
  1987. IF uo_factory.getproxy(ll_proxy, arg_msg) <> 1 THEN
  1988. rslt = 0
  1989. GOTO ext
  1990. END IF
  1991. oleobject request
  1992. request = ll_proxy.NewGetAllClassNodesRequest()
  1993. IF Not IsNull(Token) And Token <> '' THEN
  1994. request.Token = Token
  1995. END IF
  1996. oleobject response
  1997. response = ll_proxy.GetAllClassNodes(request)
  1998. IF Not IsNull(response.ErrMsg) THEN
  1999. rslt = 0
  2000. arg_msg = response.ErrMsg
  2001. GOTO ext
  2002. END IF
  2003. DELETE From aifmb_ClassGroup;
  2004. IF sqlca.SQLCode <> 0 THEN
  2005. rslt = 0
  2006. arg_msg = '删除类缓存失败,'+sqlca.SQLErrText
  2007. GOTO ext
  2008. END IF
  2009. DELETE From aifmb_ClassNode;
  2010. IF sqlca.SQLCode <> 0 THEN
  2011. rslt = 0
  2012. arg_msg = '删除基类缓存失败,'+sqlca.SQLErrText
  2013. GOTO ext
  2014. END IF
  2015. DELETE From aifmb_ClassRelation;
  2016. IF sqlca.SQLCode <> 0 THEN
  2017. rslt = 0
  2018. arg_msg = '删除基类关系失败,'+sqlca.SQLErrText
  2019. GOTO ext
  2020. END IF
  2021. DELETE From aifmb_NodeAttribute;
  2022. IF sqlca.SQLCode <> 0 THEN
  2023. rslt = 0
  2024. arg_msg = '删除基类属性失败,'+sqlca.SQLErrText
  2025. GOTO ext
  2026. END IF
  2027. DELETE From aifmb_Options;
  2028. IF sqlca.SQLCode <> 0 THEN
  2029. rslt = 0
  2030. arg_msg = '删除基类属性值失败,'+sqlca.SQLErrText
  2031. GOTO ext
  2032. END IF
  2033. DELETE From aifmb_ProductCode;
  2034. IF sqlca.SQLCode <> 0 THEN
  2035. rslt = 0
  2036. arg_msg = '删除标准物料失败,'+sqlca.SQLErrText
  2037. GOTO ext
  2038. END IF
  2039. DELETE From aifmb_Shortcut
  2040. WHERE UserID = 0;
  2041. IF sqlca.SQLCode <> 0 THEN
  2042. rslt = 0
  2043. arg_msg = '删除快捷方式失败,' + sqlca.SQLErrText
  2044. GOTO ext
  2045. END IF
  2046. Long ll_cnt, i
  2047. Long lg_classid, lg_parentid
  2048. String lg_ClassName, lg_AliasName
  2049. Boolean lg_IsInUse
  2050. oleobject lo_classgroup
  2051. ll_cnt = response.AllClassGroups.Count
  2052. FOR i = 0 To ll_cnt - 1
  2053. lo_classgroup = response.AllClassGroups.GetItem(i)
  2054. lg_classid = lo_classgroup.ClassID
  2055. lg_parentid = lo_classgroup.ParentID
  2056. lg_ClassName = lo_classgroup.ClassName
  2057. lg_AliasName = lo_classgroup.AliasName
  2058. lg_IsInUse = lo_classgroup.IsInUse
  2059. INSERT INTO aifmb_ClassGroup(ClassID,ParentID,ClassName,AliasName,IsInUse)
  2060. Values(:lg_classid,:lg_parentid,:lg_ClassName,:lg_AliasName,:lg_IsInUse);
  2061. IF sqlca.SQLCode <> 0 THEN
  2062. rslt = 0
  2063. arg_msg = '插入类缓存失败,'+sqlca.SQLErrText
  2064. GOTO ext
  2065. END IF
  2066. NEXT
  2067. Long ln_NodeID
  2068. String ln_NodeName
  2069. Boolean ln_IsInUse
  2070. oleobject lo_classnode
  2071. ll_cnt = response.AllClassNodes.Count
  2072. FOR i = 0 To ll_cnt - 1
  2073. lo_classnode = response.AllClassNodes.GetItem(i)
  2074. ln_NodeID = lo_classnode.NodeID
  2075. ln_NodeName = lo_classnode.NodeName
  2076. ln_IsInUse = lo_classnode.IsInUse
  2077. INSERT INTO aifmb_ClassNode(NodeID,NodeName,IsInUse)
  2078. Values(:ln_NodeID,:ln_NodeName,:ln_IsInUse);
  2079. IF sqlca.SQLCode <> 0 THEN
  2080. rslt = 0
  2081. arg_msg = '插入基类缓存失败,'+sqlca.SQLErrText
  2082. GOTO ext
  2083. END IF
  2084. NEXT
  2085. Long lr_ClassID, lr_NodeID
  2086. oleobject lo_relaction
  2087. ll_cnt = response.AllClassRelations.Count
  2088. FOR i = 0 To ll_cnt - 1
  2089. lo_relaction = response.AllClassRelations.GetItem(i)
  2090. lr_ClassID = lo_relaction.ClassID
  2091. lr_NodeID = lo_relaction.NodeID
  2092. INSERT INTO aifmb_ClassRelation(ClassID,NodeID)
  2093. Values(:lr_ClassID,:lr_NodeID);
  2094. IF sqlca.SQLCode <> 0 THEN
  2095. rslt = 0
  2096. arg_msg = '插入基类关系缓存失败,'+sqlca.SQLErrText
  2097. GOTO ext
  2098. END IF
  2099. NEXT
  2100. Long la_AttID, la_NodeID
  2101. String la_AttName
  2102. oleobject lo_nodeatt
  2103. ll_cnt = response.AllNodeAttributes.Count
  2104. FOR i = 0 To ll_cnt - 1
  2105. lo_nodeatt = response.AllNodeAttributes.GetItem(i)
  2106. la_AttID = lo_nodeatt.AttID
  2107. la_NodeID = lo_nodeatt.NodeID
  2108. la_AttName = lo_nodeatt.AttName
  2109. INSERT INTO aifmb_NodeAttribute(AttID,NodeID,AttName)
  2110. Values(:la_AttID,:la_NodeID,:la_AttName);
  2111. IF sqlca.SQLCode <> 0 THEN
  2112. rslt = 0
  2113. arg_msg = '插入基类属性失败,'+sqlca.SQLErrText
  2114. GOTO ext
  2115. END IF
  2116. NEXT
  2117. Long lo_AttID, lo_OptionID, lo_OptionType
  2118. String lo_OptionName, lo_OptionValue
  2119. oleobject lo_option
  2120. ll_cnt = response.AllOptions.Count
  2121. FOR i = 1 To ll_cnt - 1
  2122. lo_option = response.AllOptions.GetItem(i)
  2123. lo_AttID = lo_option.AttID
  2124. lo_OptionID = lo_option.OptionID
  2125. lo_OptionType = lo_option.OptionType
  2126. lo_OptionName = lo_option.OptionName
  2127. lo_OptionValue = lo_option.OptionValue
  2128. INSERT INTO aifmb_Options(AttID,OptionID,OptionType,OptionName,OptionValue)
  2129. Values(:lo_AttID,:lo_OptionID,:lo_OptionType,:lo_OptionName,:lo_OptionValue);
  2130. IF sqlca.SQLCode <> 0 THEN
  2131. rslt = 0
  2132. arg_msg = '插入基类属性值失败,'+sqlca.SQLErrText
  2133. GOTO ext
  2134. END IF
  2135. NEXT
  2136. oleobject lo_product
  2137. Long lp_ProductID
  2138. Long lp_NodeID
  2139. String lp_mtrlcode
  2140. String lp_mtrlname
  2141. String lp_mtrlmode
  2142. String lp_unit
  2143. Decimal lp_net_weight
  2144. Decimal lp_gross_weight
  2145. Decimal lp_cubage
  2146. String lp_mtrlengname
  2147. String lp_dscrp
  2148. String lp_gydscrp
  2149. String lp_QualityDscrp
  2150. DateTime lp_sys_changetime
  2151. ll_cnt = response.AllStandardProducts.Count
  2152. FOR i = 1 To ll_cnt - 1
  2153. lo_product = response.AllStandardProducts.GetItem(i)
  2154. lp_ProductID = lo_product.ProductID
  2155. // lp_CustCode = lo_product.CustCode
  2156. lp_NodeID = lo_product.NodeID
  2157. // lp_scid = lo_product.scid
  2158. // lp_mtrlid = lo_product.mtrlid
  2159. lp_mtrlcode = lo_product.mtrlcode
  2160. lp_mtrlname = lo_product.mtrlname
  2161. lp_mtrlmode = lo_product.mtrlmode
  2162. lp_unit = lo_product.unit
  2163. lp_net_weight = lo_product.net_weight
  2164. lp_gross_weight = lo_product.gross_weight
  2165. lp_cubage = lo_product.cubage
  2166. lp_mtrlengname = lo_product.mtrlengname
  2167. lp_sys_changetime = lo_product.sys_changetime
  2168. lp_dscrp = lo_product.dscrp
  2169. // lp_isuse = lo_product.isuse
  2170. // lp_isStandard = lo_product.isStandard
  2171. lp_gydscrp = ''
  2172. lp_QualityDscrp = lo_product.QualityDscrp
  2173. INSERT INTO aifmb_ProductCode
  2174. (ProductID
  2175. ,NodeID
  2176. ,mtrlcode
  2177. ,mtrlname
  2178. ,mtrlmode
  2179. ,unit
  2180. ,net_weight
  2181. ,gross_weight
  2182. ,cubage
  2183. ,mtrlengname
  2184. ,dscrp
  2185. ,gydscrp
  2186. ,QualityDscrp
  2187. ,sys_changetime
  2188. ,downloadtime)
  2189. VALUES
  2190. (:lp_ProductID
  2191. ,:lp_NodeID
  2192. ,:lp_mtrlcode
  2193. ,:lp_mtrlname
  2194. ,:lp_mtrlmode
  2195. ,:lp_unit
  2196. ,:lp_net_weight
  2197. ,:lp_gross_weight
  2198. ,:lp_cubage
  2199. ,:lp_mtrlengname
  2200. ,:lp_dscrp
  2201. ,:lp_gydscrp
  2202. ,:lp_QualityDscrp
  2203. ,:lp_sys_changetime
  2204. ,GETDATE());
  2205. IF sqlca.SQLCode <> 0 THEN
  2206. rslt = 0
  2207. arg_msg = '插入标准物料失败,'+sqlca.SQLErrText
  2208. GOTO ext
  2209. END IF
  2210. NEXT
  2211. oleobject lo_shortcut
  2212. Long lsc_LinkID
  2213. Long lsc_UserID
  2214. Long lsc_ParentID
  2215. String lsc_LinkName
  2216. String lsc_AliasName
  2217. Boolean lsc_IsInUse
  2218. Long lsc_SortCode
  2219. String lsc_QueryValue
  2220. Long lsc_LinkType
  2221. String lsc_URL
  2222. ll_cnt = response.AllShortcuts.Count
  2223. FOR i = 0 To ll_cnt - 1
  2224. lo_shortcut = response.AllShortcuts.GetItem(i)
  2225. lsc_LinkID = lo_shortcut.LinkID
  2226. lsc_UserID = lo_shortcut.UserID
  2227. lsc_ParentID = lo_shortcut.ParentID
  2228. lsc_LinkName = lo_shortcut.LinkName
  2229. lsc_AliasName = lo_shortcut.AliasName
  2230. lsc_IsInUse = lo_shortcut.IsInUse
  2231. lsc_SortCode = lo_shortcut.SortCode
  2232. lsc_QueryValue = lo_shortcut.QueryValue
  2233. lsc_LinkType = lo_shortcut.LinkType
  2234. lsc_URL = lo_shortcut.URL
  2235. UPDATE aifmb_Shortcut
  2236. SET UserID = :lsc_UserID,
  2237. ParentID = :lsc_ParentID,
  2238. LinkName = :lsc_LinkName,
  2239. AliasName = :lsc_AliasName,
  2240. IsInUse = :lsc_IsInUse,
  2241. SortCode = :lsc_SortCode,
  2242. QueryValue = :lsc_QueryValue,
  2243. LinkType = :lsc_LinkType,
  2244. URL = :lsc_URL
  2245. Where LinkID = :lsc_LinkID;
  2246. IF sqlca.SQLCode <> 0 THEN
  2247. rslt = 0
  2248. arg_msg = '更新快捷方式失败,'+sqlca.SQLErrText
  2249. GOTO ext
  2250. END IF
  2251. IF sqlca.SQLNRows = 0 THEN
  2252. INSERT INTO aifmb_Shortcut
  2253. (LinkID,
  2254. UserID,
  2255. ParentID,
  2256. LinkName,
  2257. AliasName,
  2258. IsInUse,
  2259. SortCode,
  2260. QueryValue,
  2261. LinkType,
  2262. URL)
  2263. VALUES
  2264. (:lsc_LinkID,
  2265. :lsc_UserID,
  2266. :lsc_ParentID,
  2267. :lsc_LinkName,
  2268. :lsc_AliasName,
  2269. :lsc_IsInUse,
  2270. :lsc_SortCode,
  2271. :lsc_QueryValue,
  2272. :lsc_LinkType,
  2273. :lsc_URL);
  2274. IF sqlca.SQLCode <> 0 THEN
  2275. rslt = 0
  2276. arg_msg = '插入快捷方式失败,'+sqlca.SQLErrText
  2277. GOTO ext
  2278. END IF
  2279. END IF
  2280. NEXT
  2281. DateTime curTime
  2282. curTime = response.curTime
  2283. pf_SetSyncTime(curTime)
  2284. ext:
  2285. Destroy uo_factory
  2286. IF rslt = 1 THEN
  2287. COMMIT;
  2288. ELSE
  2289. ROLLBACK;
  2290. END IF
  2291. RETURN rslt
  2292. end function
  2293. public function datetime pf_getsynctime ();String ls_key = '0642DA09-64B8-490E-A5E7-B52128503E9D'
  2294. String ls_value
  2295. DateTime ld_rslt
  2296. SELECT strvalue
  2297. INTO :ls_value
  2298. FROM aifmb_PBGVars
  2299. Where strkey = :ls_key;
  2300. IF sqlca.SQLCode <> 0 THEN
  2301. setnull(ld_rslt)
  2302. ELSE
  2303. ld_rslt = DateTime(Date(Mid(ls_value, 1, 10)), Time(Mid(ls_value, 12)))
  2304. END IF
  2305. RETURN ld_rslt
  2306. end function
  2307. public subroutine pf_setsynctime (datetime arg_lasttime);String ls_key = '0642DA09-64B8-490E-A5E7-B52128503E9D'
  2308. String ls_value
  2309. ls_value = String(arg_lasttime, 'yyyy-MM-dd HH:mm:ss')
  2310. UPDATE aifmb_PBGVars
  2311. SET strvalue = :ls_value
  2312. Where strkey = :ls_key;
  2313. IF sqlca.SQLCode <> 0 THEN
  2314. RETURN
  2315. END IF
  2316. IF sqlca.SQLNRows = 0 THEN
  2317. INSERT INTO aifmb_PBGVars(strkey, strvalue)
  2318. Values(:ls_key, :ls_value);
  2319. END IF
  2320. end subroutine
  2321. public function integer uf_sync_node_bytime (ref string arg_msg);Int rslt = 1
  2322. DateTime arg_lasttime
  2323. arg_lasttime = pf_GetSyncTime()
  2324. uo_aifmbproxy uo_factory
  2325. uo_factory = Create uo_aifmbproxy
  2326. oleobject ll_proxy
  2327. IF uo_factory.getproxy(ll_proxy, arg_msg) <> 1 THEN
  2328. rslt = 0
  2329. GOTO ext
  2330. END IF
  2331. oleobject request
  2332. request = ll_proxy.NewGetAllClassNodesRequest()
  2333. IF Not IsNull(Token) And Token <> '' THEN
  2334. request.Token = Token
  2335. END IF
  2336. IF Not IsNull(arg_lasttime) THEN
  2337. request.LastTime = arg_lasttime
  2338. END IF
  2339. oleobject response
  2340. response = ll_proxy.GetAllClassNodes(request)
  2341. IF Not IsNull(response.ErrMsg) THEN
  2342. rslt = 0
  2343. arg_msg = response.ErrMsg
  2344. GOTO ext
  2345. END IF
  2346. Long ll_cnt, i
  2347. Long lg_classid, lg_parentid
  2348. String lg_ClassName, lg_AliasName
  2349. Boolean lg_IsInUse
  2350. oleobject lo_classgroup
  2351. ll_cnt = response.AllClassGroups.Count
  2352. FOR i = 0 To ll_cnt - 1
  2353. lo_classgroup = response.AllClassGroups.GetItem(i)
  2354. lg_classid = lo_classgroup.ClassID
  2355. lg_parentid = lo_classgroup.ParentID
  2356. lg_ClassName = lo_classgroup.ClassName
  2357. lg_AliasName = lo_classgroup.AliasName
  2358. lg_IsInUse = lo_classgroup.IsInUse
  2359. UPDATE aifmb_ClassGroup
  2360. SET ParentID = :lg_parentid,
  2361. ClassName = :lg_ClassName,
  2362. AliasName = :lg_AliasName,
  2363. IsInUse = :lg_IsInUse
  2364. Where ClassID = :lg_classid;
  2365. IF sqlca.SQLCode <> 0 THEN
  2366. rslt = 0
  2367. arg_msg = '更新类缓存失败,' + sqlca.SQLErrText
  2368. GOTO ext
  2369. END IF
  2370. IF sqlca.SQLNRows = 0 THEN
  2371. INSERT INTO aifmb_ClassGroup(ClassID,ParentID,ClassName,AliasName,IsInUse)
  2372. Values(:lg_classid,:lg_parentid,:lg_ClassName,:lg_AliasName,:lg_IsInUse);
  2373. IF sqlca.SQLCode <> 0 THEN
  2374. rslt = 0
  2375. arg_msg = '插入类缓存失败,' + sqlca.SQLErrText
  2376. GOTO ext
  2377. END IF
  2378. END IF
  2379. NEXT
  2380. Long ln_NodeID
  2381. String ln_NodeName
  2382. Boolean ln_IsInUse
  2383. oleobject lo_classnode
  2384. ll_cnt = response.AllClassNodes.Count
  2385. FOR i = 0 To ll_cnt - 1
  2386. lo_classnode = response.AllClassNodes.GetItem(i)
  2387. ln_NodeID = lo_classnode.NodeID
  2388. ln_NodeName = lo_classnode.NodeName
  2389. ln_IsInUse = lo_classnode.IsInUse
  2390. UPDATE aifmb_ClassNode
  2391. SET NodeName = :ln_NodeName,
  2392. IsInUse = :ln_IsInUse
  2393. Where NodeID = :ln_NodeID;
  2394. IF sqlca.SQLCode <> 0 THEN
  2395. rslt = 0
  2396. arg_msg = '更新基类缓存失败,'+sqlca.SQLErrText
  2397. GOTO ext
  2398. END IF
  2399. IF sqlca.SQLNRows = 0 THEN
  2400. INSERT INTO aifmb_ClassNode(NodeID,NodeName,IsInUse)
  2401. Values(:ln_NodeID,:ln_NodeName,:ln_IsInUse);
  2402. IF sqlca.SQLCode <> 0 THEN
  2403. rslt = 0
  2404. arg_msg = '插入基类缓存失败,'+sqlca.SQLErrText
  2405. GOTO ext
  2406. END IF
  2407. END IF
  2408. NEXT
  2409. Long lr_ClassID, lr_NodeID
  2410. oleobject lo_relaction
  2411. ll_cnt = response.AllClassRelations.Count
  2412. FOR i = 0 To ll_cnt - 1
  2413. lo_relaction = response.AllClassRelations.GetItem(i)
  2414. lr_ClassID = lo_relaction.ClassID
  2415. lr_NodeID = lo_relaction.NodeID
  2416. UPDATE aifmb_ClassRelation
  2417. SET ClassID = :lr_ClassID
  2418. WHERE ClassID = :lr_ClassID
  2419. And NodeID = :lr_NodeID;
  2420. IF sqlca.SQLCode <> 0 THEN
  2421. rslt = 0
  2422. arg_msg = '更新基类关系缓存失败,'+sqlca.SQLErrText
  2423. GOTO ext
  2424. END IF
  2425. IF sqlca.SQLNRows = 0 THEN
  2426. INSERT INTO aifmb_ClassRelation(ClassID,NodeID)
  2427. Values(:lr_ClassID,:lr_NodeID);
  2428. IF sqlca.SQLCode <> 0 THEN
  2429. rslt = 0
  2430. arg_msg = '插入基类关系缓存失败,'+sqlca.SQLErrText
  2431. GOTO ext
  2432. END IF
  2433. END IF
  2434. NEXT
  2435. Long la_AttID, la_NodeID
  2436. String la_AttName
  2437. oleobject lo_nodeatt
  2438. ll_cnt = response.AllNodeAttributes.Count
  2439. FOR i = 0 To ll_cnt - 1
  2440. lo_nodeatt = response.AllNodeAttributes.GetItem(i)
  2441. la_AttID = lo_nodeatt.AttID
  2442. la_NodeID = lo_nodeatt.NodeID
  2443. la_AttName = lo_nodeatt.AttName
  2444. UPDATE aifmb_NodeAttribute
  2445. SET NodeID = :la_NodeID,
  2446. AttName = :la_AttName
  2447. Where AttID = :la_AttID;
  2448. IF sqlca.SQLCode <> 0 THEN
  2449. rslt = 0
  2450. arg_msg = '更新基类属性失败,'+sqlca.SQLErrText
  2451. GOTO ext
  2452. END IF
  2453. IF sqlca.SQLNRows = 0 THEN
  2454. INSERT INTO aifmb_NodeAttribute(AttID,NodeID,AttName)
  2455. Values(:la_AttID,:la_NodeID,:la_AttName);
  2456. IF sqlca.SQLCode <> 0 THEN
  2457. rslt = 0
  2458. arg_msg = '插入基类属性失败,'+sqlca.SQLErrText
  2459. GOTO ext
  2460. END IF
  2461. END IF
  2462. NEXT
  2463. Long lo_AttID, lo_OptionID, lo_OptionType
  2464. String lo_OptionName, lo_OptionValue
  2465. oleobject lo_option
  2466. ll_cnt = response.AllOptions.Count
  2467. FOR i = 1 To ll_cnt - 1
  2468. lo_option = response.AllOptions.GetItem(i)
  2469. lo_AttID = lo_option.AttID
  2470. lo_OptionID = lo_option.OptionID
  2471. lo_OptionType = lo_option.OptionType
  2472. lo_OptionName = lo_option.OptionName
  2473. lo_OptionValue = lo_option.OptionValue
  2474. UPDATE aifmb_Options
  2475. SET AttID = :lo_AttID,
  2476. OptionType = :lo_OptionType,
  2477. OptionName = :lo_OptionName,
  2478. OptionValue = :lo_OptionValue
  2479. Where OptionID = :lo_OptionID;
  2480. IF sqlca.SQLCode <> 0 THEN
  2481. rslt = 0
  2482. arg_msg = '更新基类属性值失败,'+sqlca.SQLErrText
  2483. GOTO ext
  2484. END IF
  2485. IF sqlca.SQLNRows = 0 THEN
  2486. INSERT INTO aifmb_Options(AttID,OptionID,OptionType,OptionName,OptionValue)
  2487. Values(:lo_AttID,:lo_OptionID,:lo_OptionType,:lo_OptionName,:lo_OptionValue);
  2488. IF sqlca.SQLCode <> 0 THEN
  2489. rslt = 0
  2490. arg_msg = '插入基类属性值失败,'+sqlca.SQLErrText
  2491. GOTO ext
  2492. END IF
  2493. END IF
  2494. NEXT
  2495. oleobject lo_product
  2496. Long lp_ProductID
  2497. Long lp_NodeID
  2498. String lp_mtrlcode
  2499. String lp_mtrlname
  2500. String lp_mtrlmode
  2501. String lp_unit
  2502. Decimal lp_net_weight
  2503. Decimal lp_gross_weight
  2504. Decimal lp_cubage
  2505. String lp_mtrlengname
  2506. String lp_dscrp
  2507. Long lp_isuse
  2508. String lp_gydscrp
  2509. String lp_QualityDscrp
  2510. DateTime lp_sys_changetime
  2511. ll_cnt = response.AllStandardProducts.Count
  2512. FOR i = 1 To ll_cnt - 1
  2513. lo_product = response.AllStandardProducts.GetItem(i)
  2514. lp_ProductID = lo_product.ProductID
  2515. // lp_CustCode = lo_product.CustCode
  2516. lp_NodeID = lo_product.NodeID
  2517. // lp_scid = lo_product.scid
  2518. // lp_mtrlid = lo_product.mtrlid
  2519. lp_mtrlcode = lo_product.mtrlcode
  2520. lp_mtrlname = lo_product.mtrlname
  2521. lp_mtrlmode = lo_product.mtrlmode
  2522. lp_unit = lo_product.unit
  2523. lp_net_weight = lo_product.net_weight
  2524. lp_gross_weight = lo_product.gross_weight
  2525. lp_cubage = lo_product.cubage
  2526. lp_mtrlengname = lo_product.mtrlengname
  2527. lp_sys_changetime = lo_product.sys_changetime
  2528. lp_dscrp = lo_product.dscrp
  2529. lp_isuse = lo_product.isuse
  2530. // lp_isStandard = lo_product.isStandard
  2531. lp_gydscrp = ''
  2532. lp_QualityDscrp = lo_product.QualityDscrp
  2533. UPDATE aifmb_ProductCode
  2534. SET NodeID = :lp_NodeID
  2535. ,mtrlcode = :lp_mtrlcode
  2536. ,mtrlname = :lp_mtrlname
  2537. ,mtrlmode = :lp_mtrlmode
  2538. ,unit = :lp_unit
  2539. ,net_weight = :lp_net_weight
  2540. ,gross_weight = :lp_gross_weight
  2541. ,cubage = :lp_cubage
  2542. ,mtrlengname = :lp_mtrlengname
  2543. ,isuse = :lp_isuse
  2544. ,dscrp = :lp_dscrp
  2545. ,gydscrp = :lp_gydscrp
  2546. ,QualityDscrp = :lp_QualityDscrp
  2547. ,sys_changetime = :lp_sys_changetime
  2548. Where ProductID = :lp_ProductID;
  2549. IF sqlca.SQLCode <> 0 THEN
  2550. rslt = 0
  2551. arg_msg = '更新标准物料失败,'+sqlca.SQLErrText
  2552. GOTO ext
  2553. END IF
  2554. IF sqlca.SQLNRows = 0 THEN
  2555. INSERT INTO aifmb_ProductCode
  2556. (ProductID
  2557. ,NodeID
  2558. ,mtrlcode
  2559. ,mtrlname
  2560. ,mtrlmode
  2561. ,unit
  2562. ,net_weight
  2563. ,gross_weight
  2564. ,cubage
  2565. ,mtrlengname
  2566. ,isuse
  2567. ,dscrp
  2568. ,gydscrp
  2569. ,QualityDscrp
  2570. ,sys_changetime
  2571. ,downloadtime)
  2572. VALUES
  2573. (:lp_ProductID
  2574. ,:lp_NodeID
  2575. ,:lp_mtrlcode
  2576. ,:lp_mtrlname
  2577. ,:lp_mtrlmode
  2578. ,:lp_unit
  2579. ,:lp_net_weight
  2580. ,:lp_gross_weight
  2581. ,:lp_cubage
  2582. ,:lp_mtrlengname
  2583. ,:lp_isuse
  2584. ,:lp_dscrp
  2585. ,:lp_gydscrp
  2586. ,:lp_QualityDscrp
  2587. ,:lp_sys_changetime
  2588. ,GETDATE());
  2589. IF sqlca.SQLCode <> 0 THEN
  2590. rslt = 0
  2591. arg_msg = '插入标准物料失败,'+sqlca.SQLErrText
  2592. GOTO ext
  2593. END IF
  2594. END IF
  2595. NEXT
  2596. oleobject lo_shortcut
  2597. Long lsc_LinkID
  2598. Long lsc_UserID
  2599. Long lsc_ParentID
  2600. String lsc_LinkName
  2601. String lsc_AliasName
  2602. Boolean lsc_IsInUse
  2603. Long lsc_SortCode
  2604. String lsc_QueryValue
  2605. Long lsc_LinkType
  2606. String lsc_URL
  2607. ll_cnt = response.AllShortcuts.Count
  2608. FOR i = 0 To ll_cnt - 1
  2609. lo_shortcut = response.AllShortcuts.GetItem(i)
  2610. lsc_LinkID = lo_shortcut.LinkID
  2611. lsc_UserID = lo_shortcut.UserID
  2612. lsc_ParentID = lo_shortcut.ParentID
  2613. lsc_LinkName = lo_shortcut.LinkName
  2614. lsc_AliasName = lo_shortcut.AliasName
  2615. lsc_IsInUse = lo_shortcut.IsInUse
  2616. lsc_SortCode = lo_shortcut.SortCode
  2617. lsc_QueryValue = lo_shortcut.QueryValue
  2618. lsc_LinkType = lo_shortcut.LinkType
  2619. lsc_URL = lo_shortcut.URL
  2620. UPDATE aifmb_Shortcut
  2621. SET UserID = :lsc_UserID,
  2622. ParentID = :lsc_ParentID,
  2623. LinkName = :lsc_LinkName,
  2624. AliasName = :lsc_AliasName,
  2625. IsInUse = :lsc_IsInUse,
  2626. SortCode = :lsc_SortCode,
  2627. QueryValue = :lsc_QueryValue,
  2628. LinkType = :lsc_LinkType,
  2629. URL = :lsc_URL
  2630. Where LinkID = :lsc_LinkID;
  2631. IF sqlca.SQLCode <> 0 THEN
  2632. rslt = 0
  2633. arg_msg = '更新快捷方式失败,'+sqlca.SQLErrText
  2634. GOTO ext
  2635. END IF
  2636. IF sqlca.SQLNRows = 0 THEN
  2637. INSERT INTO aifmb_Shortcut
  2638. (LinkID,
  2639. UserID,
  2640. ParentID,
  2641. LinkName,
  2642. AliasName,
  2643. IsInUse,
  2644. SortCode,
  2645. QueryValue,
  2646. LinkType,
  2647. URL)
  2648. VALUES
  2649. (:lsc_LinkID,
  2650. :lsc_UserID,
  2651. :lsc_ParentID,
  2652. :lsc_LinkName,
  2653. :lsc_AliasName,
  2654. :lsc_IsInUse,
  2655. :lsc_SortCode,
  2656. :lsc_QueryValue,
  2657. :lsc_LinkType,
  2658. :lsc_URL);
  2659. IF sqlca.SQLCode <> 0 THEN
  2660. rslt = 0
  2661. arg_msg = '插入快捷方式失败,'+sqlca.SQLErrText
  2662. GOTO ext
  2663. END IF
  2664. END IF
  2665. NEXT
  2666. DateTime curTime
  2667. curTime = response.curTime
  2668. pf_SetSyncTime(curTime)
  2669. ext:
  2670. Destroy uo_factory
  2671. IF rslt = 1 THEN
  2672. COMMIT;
  2673. ELSE
  2674. ROLLBACK;
  2675. END IF
  2676. RETURN rslt
  2677. end function
  2678. public function integer uf_getentuserlist (ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  2679. uo_aifmbproxy ll_proxyfactory
  2680. ll_proxyfactory = Create uo_aifmbproxy
  2681. oleobject lo_proxy
  2682. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  2683. rslt = 0
  2684. GOTO ext
  2685. END IF
  2686. oleobject request
  2687. request = lo_proxy.NewGetEntUserListRequest()
  2688. IF Not IsNull(Token) And Token <> '' THEN
  2689. request.Token = Token
  2690. END IF
  2691. oleobject response
  2692. response = lo_proxy.GetEntUserList(request)
  2693. IF Not IsNull(response.ErrMsg) THEN
  2694. rslt = 0
  2695. arg_msg = response.ErrMsg
  2696. GOTO ext
  2697. END IF
  2698. IF Not IsValid(arg_ds) THEN
  2699. arg_ds = Create datastore
  2700. END IF
  2701. IF arg_ds.DataObject <> 'ds_aifmb_entuser' THEN
  2702. arg_ds.DataObject = 'ds_aifmb_entuser'
  2703. END IF
  2704. Long cnt, row
  2705. Long i
  2706. cnt = response.EnterpriseUserList.Count
  2707. oleobject lo_productcode
  2708. FOR i = 0 To cnt - 1
  2709. lo_productcode = response.EnterpriseUserList.GetItem(i)
  2710. row = arg_ds.InsertRow(0)
  2711. arg_ds.Object.UserID[row] = lo_productcode.UserID
  2712. arg_ds.Object.repid[row] = lo_productcode.repid
  2713. arg_ds.Object.logname[row] = lo_productcode.logname
  2714. arg_ds.Object.repname[row] = lo_productcode.repname
  2715. arg_ds.Object.psw[row] = lo_productcode.psw
  2716. arg_ds.Object.tele[row] = lo_productcode.tele
  2717. arg_ds.Object.phone[row] = lo_productcode.phone
  2718. arg_ds.Object.Address[row] = lo_productcode.Address
  2719. arg_ds.Object.email[row] = lo_productcode.email
  2720. arg_ds.Object.QQ[row] = lo_productcode.QQ
  2721. arg_ds.Object.Powers[row] = lo_productcode.Powers
  2722. arg_ds.Object.UserType[row] = lo_productcode.UserType
  2723. arg_ds.Object.inuse[row] = lo_productcode.inuse
  2724. NEXT
  2725. ext:
  2726. Destroy ll_proxyfactory
  2727. IF rslt = 1 THEN
  2728. COMMIT;
  2729. ELSE
  2730. ROLLBACK;
  2731. END IF
  2732. RETURN rslt
  2733. end function
  2734. public function integer uf_getuserrightlist (ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  2735. uo_aifmbproxy ll_proxyfactory
  2736. ll_proxyfactory = Create uo_aifmbproxy
  2737. oleobject lo_proxy
  2738. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  2739. rslt = 0
  2740. GOTO ext
  2741. END IF
  2742. oleobject request
  2743. request = lo_proxy.NewGetUserRightListRequest()
  2744. IF Not IsNull(Token) And Token <> '' THEN
  2745. request.Token = Token
  2746. END IF
  2747. oleobject response
  2748. response = lo_proxy.GetUserRightList(request)
  2749. IF Not IsNull(response.ErrMsg) THEN
  2750. rslt = 0
  2751. arg_msg = response.ErrMsg
  2752. GOTO ext
  2753. END IF
  2754. IF Not IsValid(arg_ds) THEN
  2755. arg_ds = Create datastore
  2756. END IF
  2757. IF arg_ds.DataObject <> 'ds_aifmb_userrightlist' THEN
  2758. arg_ds.DataObject = 'ds_aifmb_userrightlist'
  2759. END IF
  2760. Long cnt, row
  2761. Long i
  2762. cnt = response.UserRightList.Count
  2763. oleobject lo_productcode
  2764. FOR i = 0 To cnt - 1
  2765. lo_productcode = response.UserRightList.GetItem(i)
  2766. row = arg_ds.InsertRow(0)
  2767. arg_ds.Object.RightsIndex[row] = lo_productcode.RightsIndex
  2768. arg_ds.Object.RightsName[row] = lo_productcode.RightsName
  2769. NEXT
  2770. ext:
  2771. Destroy ll_proxyfactory
  2772. IF rslt = 1 THEN
  2773. COMMIT;
  2774. ELSE
  2775. ROLLBACK;
  2776. END IF
  2777. RETURN rslt
  2778. end function
  2779. public function integer uf_setbuyinfo (ref s_aifmb_buyinfo arg_promotions_arr[], ref string arg_msg);Int rslt = 1
  2780. uo_aifmbproxy ll_proxyfactory
  2781. ll_proxyfactory = Create uo_aifmbproxy
  2782. oleobject lo_proxy
  2783. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  2784. rslt = 0
  2785. GOTO ext
  2786. END IF
  2787. oleobject request
  2788. request = lo_proxy.NewSetBuyInfoRequest()
  2789. IF Not IsNull(Token) And Token <> '' THEN
  2790. request.Token = Token
  2791. END IF
  2792. oleobject lo_list
  2793. oleobject lo_promotions
  2794. lo_list = lo_proxy.NewArrOfIBuyInfo()
  2795. oleobject lo_list_pics
  2796. lo_list_pics = lo_proxy.NewArrOfIArrOfIProductAnnexData()
  2797. oleobject lo_list_pic
  2798. oleobject lo_pic
  2799. Long i, j
  2800. FOR i = 1 To UpperBound(arg_promotions_arr)
  2801. lo_promotions = lo_proxy.NewBuyInfo()
  2802. IF arg_promotions_arr[i].BuyID > 0 THEN
  2803. lo_promotions.BuyID = arg_promotions_arr[i].BuyID
  2804. END IF
  2805. lo_promotions.EntID = arg_promotions_arr[i].EntID
  2806. lo_promotions.CreaterID = arg_promotions_arr[i].CreaterID
  2807. // lo_promotions.CreatTime = arg_promotions_arr[i].CreatTime
  2808. lo_promotions.IsAudit = arg_promotions_arr[i].IsAudit
  2809. lo_promotions.AuditerID = arg_promotions_arr[i].AuditerID
  2810. // lo_promotions.AuditTime = arg_promotions_arr[i].AuditTime
  2811. IF Not IsNull(arg_promotions_arr[i].StartTime) THEN
  2812. lo_promotions.StartTime = arg_promotions_arr[i].StartTime
  2813. END IF
  2814. IF Not IsNull(arg_promotions_arr[i].EndTime) THEN
  2815. lo_promotions.EndTime = arg_promotions_arr[i].EndTime
  2816. END IF
  2817. lo_promotions.BuyCode = arg_promotions_arr[i].BuyCode
  2818. lo_promotions.BuyName = arg_promotions_arr[i].BuyName
  2819. lo_promotions.BuyTitle = arg_promotions_arr[i].BuyTitle
  2820. lo_promotions.BuyURL = arg_promotions_arr[i].BuyURL
  2821. lo_promotions.BuyRange = arg_promotions_arr[i].BuyRange
  2822. lo_promotions.BuyRemark = arg_promotions_arr[i].BuyRemark
  2823. lo_promotions.MonthlyUse = arg_promotions_arr[i].MonthlyUse
  2824. lo_promotions.DesiredPrice = arg_promotions_arr[i].DesiredPrice
  2825. lo_promotions.Quality = arg_promotions_arr[i].Quality
  2826. lo_promotions.NodeID = arg_promotions_arr[i].NodeID
  2827. lo_promotions.StandardCode = arg_promotions_arr[i].StandardCode
  2828. lo_promotions.ProductID = arg_promotions_arr[i].ProductID
  2829. lo_promotions.ProCode = arg_promotions_arr[i].ProCode
  2830. lo_promotions.ProName = arg_promotions_arr[i].ProName
  2831. lo_promotions.ProMode = arg_promotions_arr[i].ProMode
  2832. lo_promotions.ProUnit = arg_promotions_arr[i].ProUnit
  2833. lo_promotions.IsPublic = arg_promotions_arr[i].IsPublic
  2834. lo_promotions.CreaterName = arg_promotions_arr[i].CreaterName
  2835. lo_promotions.CreaterPhone = arg_promotions_arr[i].CreaterPhone
  2836. lo_promotions.CreaterEmail = arg_promotions_arr[i].CreaterEmail
  2837. lo_promotions.CreaterQQ = arg_promotions_arr[i].CreaterQQ
  2838. lo_list.Add(lo_promotions)
  2839. lo_list_pic = lo_proxy.NewArrOfIProductAnnexData()
  2840. FOR j = 1 To UpperBound(arg_promotions_arr[i].pics)
  2841. lo_pic = lo_proxy.NewProductAnnexData()
  2842. lo_pic.AnnexName = arg_promotions_arr[i].pics[j].Label
  2843. lo_pic.Pic = arg_promotions_arr[i].pics[j].Data
  2844. lo_list_pic.Add(lo_pic)
  2845. NEXT
  2846. lo_list_pics.Add(lo_list_pic)
  2847. NEXT
  2848. request.BuyInfoList = lo_list
  2849. request.ProductAnnexList = lo_list_pics
  2850. oleobject response
  2851. response = lo_proxy.SetBuyInfo(request)
  2852. IF Not IsNull(response.ErrMsg) THEN
  2853. rslt = 0
  2854. arg_msg = response.ErrMsg
  2855. GOTO ext
  2856. END IF
  2857. FOR i = 1 To UpperBound(arg_promotions_arr)
  2858. arg_promotions_arr[i].BuyID = response.BuyIDList.GetItem(i - 1)
  2859. NEXT
  2860. ext:
  2861. Destroy ll_proxyfactory
  2862. RETURN rslt
  2863. end function
  2864. public function integer uf_setentuserright (ref s_aifmb_a_user arg_users[], ref string arg_msg);Int rslt = 1
  2865. uo_aifmbproxy ll_proxyfactory
  2866. ll_proxyfactory = Create uo_aifmbproxy
  2867. oleobject lo_proxy
  2868. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  2869. rslt = 0
  2870. GOTO ext
  2871. END IF
  2872. oleobject request
  2873. request = lo_proxy.NewSetEntUserRightRequest()
  2874. IF Not IsNull(Token) And Token <> '' THEN
  2875. request.Token = Token
  2876. END IF
  2877. oleobject lo_list
  2878. oleobject lo_user
  2879. lo_list = lo_proxy.NewArrOfIa_user()
  2880. Long i
  2881. FOR i = 1 To UpperBound(arg_users)
  2882. lo_user = lo_proxy.Newa_user()
  2883. IF arg_users[i].repid > 0 THEN
  2884. lo_user.repid = arg_users[i].repid
  2885. END IF
  2886. lo_user.UserID = arg_users[i].UserID
  2887. lo_user.logname = arg_users[i].logname
  2888. lo_user.repname = arg_users[i].repname
  2889. //lo_user.psw = arg_users[i].psw
  2890. lo_user.tele = arg_users[i].tele
  2891. lo_user.phone = arg_users[i].phone
  2892. lo_user.Address = arg_users[i].Address
  2893. lo_user.email = arg_users[i].email
  2894. lo_user.QQ = arg_users[i].QQ
  2895. lo_user.Powers = arg_users[i].Powers
  2896. lo_user.UserType = arg_users[i].UserType
  2897. lo_user.inuse = arg_users[i].inuse
  2898. lo_list.Add(lo_user)
  2899. NEXT
  2900. request.a_userList = lo_list
  2901. oleobject response
  2902. response = lo_proxy.SetEntUserRight(request)
  2903. IF Not IsNull(response.ErrMsg) THEN
  2904. rslt = 0
  2905. arg_msg = response.ErrMsg
  2906. GOTO ext
  2907. END IF
  2908. FOR i = 1 To UpperBound(arg_users)
  2909. arg_users[i].repid = response.a_userList.GetItem(i - 1)
  2910. NEXT
  2911. ext:
  2912. Destroy ll_proxyfactory
  2913. RETURN rslt
  2914. end function
  2915. public function integer uf_addcuscomm (string opcusid, long custype, ref string arg_msg);int rslt = 1
  2916. uo_aifmbproxy ll_proxyfactory
  2917. ll_proxyfactory = Create uo_aifmbproxy
  2918. IF sys_email_sqlca.DBHandle() <= 0 THEN
  2919. rslt = 0
  2920. arg_msg = '未设置邮件数据库'
  2921. GOTO ext
  2922. END IF
  2923. IF local_cusid = '' THEN
  2924. IF pf_getlocalcominfo(arg_msg) <> 1 THEN
  2925. rslt = 0
  2926. GOTO ext
  2927. END IF
  2928. END IF
  2929. IF local_cusid = '' THEN
  2930. rslt = 0
  2931. arg_msg = '请启动后台通信服务初始化通信数据库'
  2932. GOTO ext
  2933. END IF
  2934. oleobject lo_proxy
  2935. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  2936. rslt = 0
  2937. GOTO ext
  2938. END IF
  2939. oleobject request
  2940. request = lo_proxy.NewAddCusCommRequest()
  2941. request.CusID = local_cusid
  2942. request.OpCusID = opcusid
  2943. request.custype = custype
  2944. oleobject response
  2945. response = lo_proxy.AddCusComm(request)
  2946. IF Not IsNull(response.ErrMsg) THEN
  2947. rslt = 0
  2948. arg_msg = response.ErrMsg
  2949. GOTO ext
  2950. END IF
  2951. ext:
  2952. destroy uo_aifmbproxy
  2953. return rslt
  2954. end function
  2955. public function integer uf_getusergrade (ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  2956. uo_aifmbproxy ll_proxyfactory
  2957. ll_proxyfactory = Create uo_aifmbproxy
  2958. oleobject lo_proxy
  2959. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  2960. rslt = 0
  2961. GOTO ext
  2962. END IF
  2963. oleobject request
  2964. request = lo_proxy.NewGetUserGradeRequest()
  2965. IF IsNull(token) Or token = '' THEN
  2966. IF pf_GetToken(arg_msg) <> 1 THEN
  2967. GOTO ext
  2968. END IF
  2969. END IF
  2970. IF Not IsNull(Token) And Token <> '' THEN
  2971. request.Token = Token
  2972. END IF
  2973. oleobject response
  2974. response = lo_proxy.GetUserGrade(request)
  2975. IF Not IsNull(response.ErrMsg) THEN
  2976. rslt = 0
  2977. arg_msg = response.ErrMsg
  2978. GOTO ext
  2979. END IF
  2980. IF Not IsValid(arg_ds) THEN
  2981. arg_ds = Create datastore
  2982. END IF
  2983. IF arg_ds.DataObject <> 'ds_aifmb_entgradeitem' THEN
  2984. arg_ds.DataObject = 'ds_aifmb_entgradeitem'
  2985. END IF
  2986. Long cnt, row
  2987. Long i
  2988. cnt = response.GradeList.Count
  2989. oleobject lo_productcode
  2990. FOR i = 0 To cnt - 1
  2991. lo_productcode = response.GradeList.GetItem(i)
  2992. row = arg_ds.InsertRow(0)
  2993. arg_ds.Object.ItemID[row] = lo_productcode.ItemID
  2994. arg_ds.Object.ItemCode[row] = lo_productcode.ItemCode
  2995. arg_ds.Object.ItemName[row] = lo_productcode.ItemName
  2996. arg_ds.Object.Remark[row] = lo_productcode.Remark
  2997. NEXT
  2998. ext:
  2999. Destroy ll_proxyfactory
  3000. IF rslt = 1 THEN
  3001. COMMIT;
  3002. ELSE
  3003. ROLLBACK;
  3004. END IF
  3005. RETURN rslt
  3006. end function
  3007. public function integer uf_searchproductentrelationlist (boolean arg_isstandard, datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], long arg_pageindex, long arg_pagesize, ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  3008. uo_aifmbproxy ll_proxyfactory
  3009. ll_proxyfactory = Create uo_aifmbproxy
  3010. oleobject lo_proxy
  3011. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  3012. rslt = 0
  3013. GOTO ext
  3014. END IF
  3015. oleobject request
  3016. request = lo_proxy.NewSearchProductEntRelationListRequest()
  3017. IF Not IsNull(Token) And Token <> '' THEN
  3018. request.Token = Token
  3019. END IF
  3020. //request.IsStandard = arg_isstandard
  3021. request.KeyWord = arg_keyword
  3022. IF Not IsNull(arg_starttime) THEN
  3023. request.StartTime = arg_starttime
  3024. END IF
  3025. IF Not IsNull(arg_endtime) THEN
  3026. request.EndTime = arg_endtime
  3027. END IF
  3028. String ls_nodeids = ''
  3029. Long i
  3030. IF Not IsNull(arg_nodeid_arr) THEN
  3031. IF UpperBound(arg_nodeid_arr) > 0 THEN
  3032. ls_nodeids = String(arg_nodeid_arr[1])
  3033. FOR i = 2 To UpperBound(arg_nodeid_arr)
  3034. ls_nodeids += ',' + String(arg_nodeid_arr[i])
  3035. NEXT
  3036. request.NodeID = ls_nodeids
  3037. END IF
  3038. END IF
  3039. String ls_entids = ''
  3040. IF Not IsNull(arg_entid_arr) THEN
  3041. IF UpperBound(arg_entid_arr) > 0 THEN
  3042. ls_entids = String(arg_entid_arr[1])
  3043. FOR i = 2 To UpperBound(arg_entid_arr)
  3044. ls_entids = String(arg_entid_arr[i])
  3045. NEXT
  3046. request.EntID = ls_entids
  3047. END IF
  3048. END IF
  3049. request.PageSize = arg_pagesize
  3050. request.PageIndex = arg_pageindex
  3051. oleobject response
  3052. response = lo_proxy.SearchProductEntRelationList(request)
  3053. IF Not IsNull(response.ErrMsg) THEN
  3054. rslt = 0
  3055. arg_msg = response.ErrMsg
  3056. GOTO ext
  3057. END IF
  3058. IF Not IsValid(arg_ds) THEN
  3059. arg_ds = Create datastore
  3060. END IF
  3061. IF arg_ds.DataObject <> 'ds_aifmb_searchproductentrelation' THEN
  3062. arg_ds.DataObject = 'ds_aifmb_searchproductentrelation'
  3063. END IF
  3064. Long cnt, row
  3065. IF Not DirectoryExists('aifmb_tmp') THEN
  3066. CreateDirectory('aifmb_tmp')
  3067. END IF
  3068. String Filename
  3069. Blob fileblob
  3070. Any lb_pic
  3071. cnt = response.SearchProductEntRelationList.Count
  3072. oleobject lo_productcode
  3073. FOR i = 0 To cnt - 1
  3074. lo_productcode = response.SearchProductEntRelationList.GetItem(i)
  3075. row = arg_ds.InsertRow(0)
  3076. arg_ds.Object.ProductID[row] = lo_productcode.ProductID
  3077. arg_ds.Object.NodeID[row] = lo_productcode.NodeID
  3078. arg_ds.Object.mtrlid[row] = lo_productcode.mtrlid
  3079. arg_ds.Object.mtrlcode[row] = lo_productcode.mtrlcode
  3080. arg_ds.Object.mtrlname[row] = lo_productcode.mtrlname
  3081. arg_ds.Object.mtrlmode[row] = lo_productcode.mtrlmode
  3082. arg_ds.Object.unit[row] = lo_productcode.unit
  3083. arg_ds.Object.net_weight[row] = lo_productcode.net_weight
  3084. arg_ds.Object.gross_weight[row] = lo_productcode.gross_weight
  3085. arg_ds.Object.cubage[row] = lo_productcode.cubage
  3086. arg_ds.Object.mtrlengname[row] = lo_productcode.mtrlengname
  3087. arg_ds.Object.sys_changetime[row] = lo_productcode.sys_changetime
  3088. arg_ds.Object.dscrp[row] = lo_productcode.dscrp
  3089. IF lo_productcode.IsStandard = True THEN
  3090. arg_ds.Object.IsStandard[row] = 1
  3091. ELSE
  3092. arg_ds.Object.IsStandard[row] = 0
  3093. END IF
  3094. arg_ds.Object.QualityDscrp[row] = lo_productcode.QualityDscrp
  3095. arg_ds.Object.RelationID[row] = lo_productcode.RelationID
  3096. arg_ds.Object.EntID[row] = lo_productcode.EntID
  3097. arg_ds.Object.CreatTime[row] = lo_productcode.CreatTime
  3098. arg_ds.Object.AttValue[row] = lo_productcode.AttValue
  3099. arg_ds.Object.usercode[row] = lo_productcode.usercode
  3100. arg_ds.Object.username[row] = lo_productcode.username
  3101. IF Not IsNull(lo_productcode.MPrice) THEN
  3102. arg_ds.Object.MPrice[row] = lo_productcode.MPrice
  3103. END IF
  3104. IF Not IsNull(lo_productcode.NPrice) THEN
  3105. arg_ds.Object.NPrice[row] = lo_productcode.NPrice
  3106. END IF
  3107. lb_pic = lo_productcode.Pic
  3108. IF ClassName(lb_pic) = 'blob' THEN
  3109. Filename = sys_cur_path + 'aifmb_tmp\relation_min_' + String(lo_productcode.RelationID) + '.png'
  3110. fileblob = lb_pic
  3111. IF FileExists(Filename) THEN
  3112. FileDelete(Filename)
  3113. END IF
  3114. arg_ds.Object.Filename[row] = Filename
  3115. IF f_blobtofile(Filename, fileblob, arg_msg) <> 1 THEN
  3116. arg_ds.Object.Filename[row] = 'imexport.BMP'
  3117. END IF
  3118. ELSE
  3119. arg_ds.Object.Filename[row] = 'imexport.BMP'
  3120. END IF
  3121. NEXT
  3122. ext:
  3123. Destroy ll_proxyfactory
  3124. IF rslt = 1 THEN
  3125. COMMIT;
  3126. ELSE
  3127. ROLLBACK;
  3128. END IF
  3129. RETURN rslt
  3130. end function
  3131. public function integer uf_searchpromotionslist (datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], long arg_pageindex, long arg_pagesize, ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  3132. uo_aifmbproxy ll_proxyfactory
  3133. ll_proxyfactory = Create uo_aifmbproxy
  3134. oleobject lo_proxy
  3135. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  3136. rslt = 0
  3137. GOTO ext
  3138. END IF
  3139. oleobject request
  3140. request = lo_proxy.NewSearchPromotionsListRequest()
  3141. IF Not IsNull(Token) And Token <> '' THEN
  3142. request.Token = Token
  3143. END IF
  3144. request.KeyWords = arg_keyword
  3145. IF Not IsNull(arg_starttime) THEN
  3146. request.StartTime = arg_starttime
  3147. END IF
  3148. IF Not IsNull(arg_endtime) THEN
  3149. request.EndTime = arg_endtime
  3150. END IF
  3151. String ls_nodeids = ''
  3152. Long i
  3153. IF Not IsNull(arg_nodeid_arr) THEN
  3154. IF UpperBound(arg_nodeid_arr) > 0 THEN
  3155. ls_nodeids = String(arg_nodeid_arr[1])
  3156. FOR i = 2 To UpperBound(arg_nodeid_arr)
  3157. ls_nodeids += ',' + String(arg_nodeid_arr[i])
  3158. NEXT
  3159. request.NodeIDs = ls_nodeids
  3160. END IF
  3161. END IF
  3162. String ls_entids = ''
  3163. IF Not IsNull(arg_entid_arr) THEN
  3164. IF UpperBound(arg_entid_arr) > 0 THEN
  3165. ls_entids = String(arg_entid_arr[1])
  3166. FOR i = 2 To UpperBound(arg_entid_arr)
  3167. ls_entids = String(arg_entid_arr[i])
  3168. NEXT
  3169. request.EntIDs = ls_entids
  3170. END IF
  3171. END IF
  3172. request.PageIndex = arg_pageindex
  3173. request.PageSize = arg_pagesize
  3174. oleobject response
  3175. response = lo_proxy.SearchPromotionsList(request)
  3176. IF Not IsNull(response.ErrMsg) THEN
  3177. rslt = 0
  3178. arg_msg = response.ErrMsg
  3179. GOTO ext
  3180. END IF
  3181. IF Not IsValid(arg_ds) THEN
  3182. arg_ds = Create datastore
  3183. END IF
  3184. IF arg_ds.DataObject <> 'ds_aifmb_searchpromotions' THEN
  3185. arg_ds.DataObject = 'ds_aifmb_searchpromotions'
  3186. END IF
  3187. Long cnt, row
  3188. IF Not DirectoryExists('aifmb_tmp') THEN
  3189. CreateDirectory('aifmb_tmp')
  3190. END IF
  3191. String Filename
  3192. Blob fileblob
  3193. cnt = response.SearchPromotionsList.Count
  3194. oleobject lo_productcode
  3195. FOR i = 0 To cnt - 1
  3196. lo_productcode = response.SearchPromotionsList.GetItem(i)
  3197. row = arg_ds.InsertRow(0)
  3198. arg_ds.Object.PromoID[row] = lo_productcode.PromoID
  3199. arg_ds.Object.EntID[row] = lo_productcode.EntID
  3200. arg_ds.Object.CreaterID[row] = lo_productcode.CreaterID
  3201. arg_ds.Object.CreatTime[row] = lo_productcode.CreatTime
  3202. arg_ds.Object.IsAudit[row] = lo_productcode.IsAudit
  3203. arg_ds.Object.AuditerID[row] = lo_productcode.AuditerID
  3204. arg_ds.Object.AuditTime[row] = lo_productcode.AuditTime
  3205. arg_ds.Object.StartTime[row] = lo_productcode.StartTime
  3206. arg_ds.Object.EndTime[row] = lo_productcode.EndTime
  3207. arg_ds.Object.PromoName[row] = lo_productcode.PromoName
  3208. arg_ds.Object.PromoTitle[row] = lo_productcode.PromoTitle
  3209. arg_ds.Object.PromoURL[row] = lo_productcode.PromoURL
  3210. arg_ds.Object.PromoRange[row] = lo_productcode.PromoRange
  3211. arg_ds.Object.PromoRemark[row] = lo_productcode.PromoRemark
  3212. arg_ds.Object.PromoCode[row] = lo_productcode.PromoCode
  3213. arg_ds.Object.NodeID[row] = lo_productcode.NodeID
  3214. arg_ds.Object.ProductID[row] = lo_productcode.ProductID
  3215. arg_ds.Object.ProCode[row] = lo_productcode.ProCode
  3216. arg_ds.Object.ProName[row] = lo_productcode.ProName
  3217. arg_ds.Object.ProMode[row] = lo_productcode.ProMode
  3218. arg_ds.Object.ProUnit[row] = lo_productcode.ProUnit
  3219. // arg_ds.Object.IsPublic[row] = lo_productcode.IsPublic
  3220. IF lo_productcode.IsPublic = True THEN
  3221. arg_ds.Object.IsPublic[row] = 1
  3222. ELSE
  3223. arg_ds.Object.IsPublic[row] = 0
  3224. END IF
  3225. arg_ds.Object.PromoType[row] = lo_productcode.PromoType
  3226. arg_ds.Object.MPrice[row] = lo_productcode.MPrice
  3227. arg_ds.Object.NPrice[row] = lo_productcode.NPrice
  3228. arg_ds.Object.usercode[row] = lo_productcode.usercode
  3229. arg_ds.Object.username[row] = lo_productcode.username
  3230. arg_ds.Object.tele[row] = lo_productcode.tele
  3231. arg_ds.Object.phone[row] = lo_productcode.phone
  3232. arg_ds.Object.email[row] = lo_productcode.email
  3233. arg_ds.Object.NodeName[row] = lo_productcode.NodeName
  3234. arg_ds.Object.CreaterName[row] = lo_productcode.CreaterName
  3235. arg_ds.Object.CreaterPhone[row] = lo_productcode.CreaterPhone
  3236. arg_ds.Object.CreaterEmail[row] = lo_productcode.CreaterEmail
  3237. arg_ds.Object.CreaterQQ[row] = lo_productcode.CreaterQQ
  3238. // IF Not IsNull(fileblob) And IsValid(lo_productcode.Pic) THEN
  3239. // Filename = 'aifmb_tmp\product_min_' + String(lo_productcode.ProductID) + '.jpg'
  3240. // fileblob = lo_productcode.Pic
  3241. // IF FileExists(Filename) THEN
  3242. // FileDelete(Filename)
  3243. // END IF
  3244. // arg_ds.Object.Filename[row] = Filename
  3245. // IF f_blobtofile(Filename, fileblob, arg_msg) <> 1 THEN
  3246. // arg_ds.Object.Filename[row] = 'imexport.BMP'
  3247. // END IF
  3248. // ELSE
  3249. // arg_ds.Object.Filename[row] = 'imexport.BMP'
  3250. // END IF
  3251. NEXT
  3252. ext:
  3253. Destroy ll_proxyfactory
  3254. IF rslt = 1 THEN
  3255. COMMIT;
  3256. ELSE
  3257. ROLLBACK;
  3258. END IF
  3259. RETURN rslt
  3260. end function
  3261. public function integer uf_searchbuyinfolist (datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], long arg_pageindex, long arg_pagesize, ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  3262. uo_aifmbproxy ll_proxyfactory
  3263. ll_proxyfactory = Create uo_aifmbproxy
  3264. oleobject lo_proxy
  3265. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  3266. rslt = 0
  3267. GOTO ext
  3268. END IF
  3269. oleobject request
  3270. request = lo_proxy.NewSearchBuyInfoListRequest()
  3271. IF Not IsNull(Token) And Token <> '' THEN
  3272. request.Token = Token
  3273. END IF
  3274. request.KeyWords = arg_keyword
  3275. IF Not IsNull(arg_starttime) THEN
  3276. request.StartTime = arg_starttime
  3277. END IF
  3278. IF Not IsNull(arg_endtime) THEN
  3279. request.EndTime = arg_endtime
  3280. END IF
  3281. String ls_nodeids = ''
  3282. Long i
  3283. IF Not IsNull(arg_nodeid_arr) THEN
  3284. IF UpperBound(arg_nodeid_arr) > 0 THEN
  3285. ls_nodeids = String(arg_nodeid_arr[1])
  3286. FOR i = 2 To UpperBound(arg_nodeid_arr)
  3287. ls_nodeids += ',' + String(arg_nodeid_arr[i])
  3288. NEXT
  3289. request.NodeIDs = ls_nodeids
  3290. END IF
  3291. END IF
  3292. String ls_entids = ''
  3293. IF Not IsNull(arg_entid_arr) THEN
  3294. IF UpperBound(arg_entid_arr) > 0 THEN
  3295. ls_entids = String(arg_entid_arr[1])
  3296. FOR i = 2 To UpperBound(arg_entid_arr)
  3297. ls_entids = String(arg_entid_arr[i])
  3298. NEXT
  3299. request.EntIDs = ls_entids
  3300. END IF
  3301. END IF
  3302. request.PageIndex = arg_pageindex
  3303. request.PageSize = arg_pagesize
  3304. oleobject response
  3305. response = lo_proxy.SearchBuyInfoList(request)
  3306. IF Not IsNull(response.ErrMsg) THEN
  3307. rslt = 0
  3308. arg_msg = response.ErrMsg
  3309. GOTO ext
  3310. END IF
  3311. IF Not IsValid(arg_ds) THEN
  3312. arg_ds = Create datastore
  3313. END IF
  3314. IF arg_ds.DataObject <> 'ds_aifmb_searchbuyinfo' THEN
  3315. arg_ds.DataObject = 'ds_aifmb_searchbuyinfo'
  3316. END IF
  3317. Long cnt, row
  3318. IF Not DirectoryExists('aifmb_tmp') THEN
  3319. CreateDirectory('aifmb_tmp')
  3320. END IF
  3321. String Filename
  3322. Blob fileblob
  3323. cnt = response.SearchBuyInfoList.Count
  3324. oleobject lo_productcode
  3325. FOR i = 0 To cnt - 1
  3326. lo_productcode = response.SearchBuyInfoList.GetItem(i)
  3327. row = arg_ds.InsertRow(0)
  3328. arg_ds.Object.BuyID[row] = lo_productcode.BuyID
  3329. arg_ds.Object.EntID[row] = lo_productcode.EntID
  3330. arg_ds.Object.CreaterID[row] = lo_productcode.CreaterID
  3331. arg_ds.Object.CreatTime[row] = lo_productcode.CreatTime
  3332. arg_ds.Object.IsAudit[row] = lo_productcode.IsAudit
  3333. arg_ds.Object.AuditerID[row] = lo_productcode.AuditerID
  3334. arg_ds.Object.AuditTime[row] = lo_productcode.AuditTime
  3335. arg_ds.Object.StartTime[row] = lo_productcode.StartTime
  3336. arg_ds.Object.EndTime[row] = lo_productcode.EndTime
  3337. arg_ds.Object.BuyCode[row] = lo_productcode.BuyCode
  3338. arg_ds.Object.BuyName[row] = lo_productcode.BuyName
  3339. arg_ds.Object.BuyTitle[row] = lo_productcode.BuyTitle
  3340. arg_ds.Object.BuyURL[row] = lo_productcode.BuyURL
  3341. arg_ds.Object.BuyRange[row] = lo_productcode.BuyRange
  3342. arg_ds.Object.BuyRemark[row] = lo_productcode.BuyRemark
  3343. arg_ds.Object.MonthlyUse[row] = lo_productcode.MonthlyUse
  3344. arg_ds.Object.DesiredPrice[row] = lo_productcode.DesiredPrice
  3345. arg_ds.Object.Quality[row] = lo_productcode.Quality
  3346. arg_ds.Object.NodeID[row] = lo_productcode.NodeID
  3347. arg_ds.Object.StandardCode[row] = lo_productcode.StandardCode
  3348. arg_ds.Object.ProductID[row] = lo_productcode.ProductID
  3349. arg_ds.Object.ProCode[row] = lo_productcode.ProCode
  3350. arg_ds.Object.ProName[row] = lo_productcode.ProName
  3351. arg_ds.Object.ProMode[row] = lo_productcode.ProMode
  3352. arg_ds.Object.ProUnit[row] = lo_productcode.ProUnit
  3353. IF lo_productcode.IsPublic = True THEN
  3354. arg_ds.Object.IsPublic[row] = 1
  3355. ELSE
  3356. arg_ds.Object.IsPublic[row] = 0
  3357. END IF
  3358. arg_ds.Object.usercode[row] = lo_productcode.usercode
  3359. arg_ds.Object.username[row] = lo_productcode.username
  3360. arg_ds.Object.tele[row] = lo_productcode.tele
  3361. arg_ds.Object.phone[row] = lo_productcode.phone
  3362. arg_ds.Object.email[row] = lo_productcode.email
  3363. arg_ds.Object.NodeName[row] = lo_productcode.NodeName
  3364. arg_ds.Object.CreaterName[row] = lo_productcode.CreaterName
  3365. arg_ds.Object.CreaterPhone[row] = lo_productcode.CreaterPhone
  3366. arg_ds.Object.CreaterEmail[row] = lo_productcode.CreaterEmail
  3367. arg_ds.Object.CreaterQQ[row] = lo_productcode.CreaterQQ
  3368. // IF Not IsNull(fileblob) And IsValid(lo_productcode.Pic) THEN
  3369. // Filename = 'aifmb_tmp\product_min_' + String(lo_productcode.ProductID) + '.jpg'
  3370. // fileblob = lo_productcode.Pic
  3371. // IF FileExists(Filename) THEN
  3372. // FileDelete(Filename)
  3373. // END IF
  3374. // arg_ds.Object.Filename[row] = Filename
  3375. // IF f_blobtofile(Filename, fileblob, arg_msg) <> 1 THEN
  3376. // arg_ds.Object.Filename[row] = 'imexport.BMP'
  3377. // END IF
  3378. // ELSE
  3379. // arg_ds.Object.Filename[row] = 'imexport.BMP'
  3380. // END IF
  3381. NEXT
  3382. ext:
  3383. Destroy ll_proxyfactory
  3384. IF rslt = 1 THEN
  3385. COMMIT;
  3386. ELSE
  3387. ROLLBACK;
  3388. END IF
  3389. RETURN rslt
  3390. end function
  3391. public function integer uf_getlastbuyinforeply (long arg_productid, ref datastore ds_aifmb_buyinforeply, ref string arg_msg);
  3392. datetime dt_starttime, dt_endtime
  3393. dt_starttime = DateTime(RelativeDate(Today(), -7), Time(0))
  3394. SetNull(dt_endtime)
  3395. long buyids[]
  3396. return uf_getbuyinforeplylist(arg_productid, dt_starttime, dt_endtime, buyids, ds_aifmb_buyinforeply, arg_msg)
  3397. end function
  3398. public function integer uf_getlastindexproductvalue (long arg_productid, ref datastore ds_aifmb_indexproductvalue, ref string arg_msg);DateTime dt_starttime, dt_endtime
  3399. dt_starttime = DateTime(RelativeDate(Today(), -7), Time(0))
  3400. SetNull(dt_endtime)
  3401. RETURN uf_getindexproductvaluelist(arg_productid, dt_starttime, dt_endtime, ds_aifmb_indexproductvalue, arg_msg)
  3402. end function
  3403. public function integer uf_getlastpromotions (long arg_productid, ref datastore ds_aifmb_promotions, ref string arg_msg);DateTime dt_starttime, dt_endtime
  3404. dt_starttime = DateTime(RelativeDate(Today(), -7), Time(0))
  3405. SetNull(dt_endtime)
  3406. String keyworks = ''
  3407. Long nodeids[], entids[]
  3408. RETURN uf_getpromotionslist(arg_productid, dt_starttime, dt_endtime, keyworks, nodeids, entids, ds_aifmb_promotions, arg_msg)
  3409. end function
  3410. public function integer uf_getindexproductvaluelist (long arg_productid, datetime arg_starttime, datetime arg_endtime, ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  3411. uo_aifmbproxy ll_proxyfactory
  3412. ll_proxyfactory = Create uo_aifmbproxy
  3413. oleobject lo_proxy
  3414. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  3415. rslt = 0
  3416. GOTO ext
  3417. END IF
  3418. oleobject request
  3419. request = lo_proxy.NewGetIndexProductValueListRequest()
  3420. IF Not IsNull(Token) And Token <> '' THEN
  3421. request.Token = Token
  3422. END IF
  3423. request.ProductID = arg_productid
  3424. IF Not IsNull(arg_starttime) THEN
  3425. request.StartTime = arg_starttime
  3426. END IF
  3427. IF Not IsNull(arg_endtime) THEN
  3428. request.EndTime = arg_endtime
  3429. END IF
  3430. oleobject response
  3431. response = lo_proxy.GetIndexProductValueList(request)
  3432. IF Not IsNull(response.ErrMsg) THEN
  3433. rslt = 0
  3434. arg_msg = response.ErrMsg
  3435. GOTO ext
  3436. END IF
  3437. IF Not IsValid(arg_ds) THEN
  3438. arg_ds = Create datastore
  3439. END IF
  3440. IF arg_ds.DataObject <> 'ds_aifmb_indexproductvalue' THEN
  3441. arg_ds.DataObject = 'ds_aifmb_indexproductvalue'
  3442. END IF
  3443. Long i, cnt, row
  3444. IF Not DirectoryExists('aifmb_tmp') THEN
  3445. CreateDirectory('aifmb_tmp')
  3446. END IF
  3447. String Filename
  3448. Blob fileblob
  3449. cnt = response.IndexProductValueList.Count
  3450. oleobject lo_productcode
  3451. FOR i = 0 To cnt - 1
  3452. lo_productcode = response.IndexProductValueList.GetItem(i)
  3453. row = arg_ds.InsertRow(0)
  3454. arg_ds.Object.IndexValueID[row] = lo_productcode.IndexValueID
  3455. arg_ds.Object.ProductID[row] = lo_productcode.ProductID
  3456. arg_ds.Object.IndexValue[row] = lo_productcode.IndexValue
  3457. arg_ds.Object.CreatTime[row] = lo_productcode.CreatTime
  3458. NEXT
  3459. ext:
  3460. Destroy ll_proxyfactory
  3461. IF rslt = 1 THEN
  3462. COMMIT;
  3463. ELSE
  3464. ROLLBACK;
  3465. END IF
  3466. RETURN rslt
  3467. end function
  3468. public function integer uf_getpromotionslist (long arg_productid, datetime arg_starttime, datetime arg_endtime, string arg_keyword, long arg_nodeid_arr[], long arg_entid_arr[], ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  3469. uo_aifmbproxy ll_proxyfactory
  3470. ll_proxyfactory = Create uo_aifmbproxy
  3471. oleobject lo_proxy
  3472. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  3473. rslt = 0
  3474. GOTO ext
  3475. END IF
  3476. oleobject request
  3477. request = lo_proxy.NewGetPromotionsListRequest()
  3478. IF Not IsNull(Token) And Token <> '' THEN
  3479. request.Token = Token
  3480. END IF
  3481. request.KeyWords = arg_keyword
  3482. IF Not IsNull(arg_starttime) THEN
  3483. request.BDate = arg_starttime
  3484. END IF
  3485. IF Not IsNull(arg_endtime) THEN
  3486. request.EDate = arg_endtime
  3487. END IF
  3488. String ls_nodeids = ''
  3489. Long i
  3490. IF Not IsNull(arg_nodeid_arr) THEN
  3491. IF UpperBound(arg_nodeid_arr) > 0 THEN
  3492. ls_nodeids = String(arg_nodeid_arr[1])
  3493. FOR i = 2 To UpperBound(arg_nodeid_arr)
  3494. ls_nodeids += ',' + String(arg_nodeid_arr[i])
  3495. NEXT
  3496. request.NodeIDs = ls_nodeids
  3497. END IF
  3498. END IF
  3499. String ls_EntIDs = ''
  3500. IF Not IsNull(arg_EntID_arr) THEN
  3501. IF UpperBound(arg_EntID_arr) > 0 THEN
  3502. ls_EntIDs = String(arg_EntID_arr[1])
  3503. FOR i = 2 To UpperBound(arg_EntID_arr)
  3504. ls_EntIDs += ',' + String(arg_EntID_arr[i])
  3505. NEXT
  3506. request.EntIDs = ls_EntIDs
  3507. END IF
  3508. END IF
  3509. IF Not IsNull(arg_productid) THEN
  3510. IF arg_productid > 0 THEN
  3511. request.ProductID = arg_productid
  3512. END IF
  3513. END IF
  3514. oleobject response
  3515. response = lo_proxy.GetPromotionsList(request)
  3516. IF Not IsNull(response.ErrMsg) THEN
  3517. rslt = 0
  3518. arg_msg = response.ErrMsg
  3519. GOTO ext
  3520. END IF
  3521. IF Not IsValid(arg_ds) THEN
  3522. arg_ds = Create datastore
  3523. END IF
  3524. IF arg_ds.DataObject <> 'ds_aifmb_promotions' THEN
  3525. arg_ds.DataObject = 'ds_aifmb_promotions'
  3526. END IF
  3527. Long cnt, row
  3528. cnt = response.Promotions.Count
  3529. oleobject lo_productcode
  3530. FOR i = 0 To cnt - 1
  3531. lo_productcode = response.Promotions.GetItem(i)
  3532. row = arg_ds.InsertRow(0)
  3533. arg_ds.Object.PromoID[row] = lo_productcode.PromoID
  3534. arg_ds.Object.EntID[row] = lo_productcode.EntID
  3535. arg_ds.Object.CreaterID[row] = lo_productcode.CreaterID
  3536. arg_ds.Object.CreatTime[row] = lo_productcode.CreatTime
  3537. arg_ds.Object.IsAudit[row] = lo_productcode.IsAudit
  3538. arg_ds.Object.AuditerID[row] = lo_productcode.AuditerID
  3539. arg_ds.Object.AuditTime[row] = lo_productcode.AuditTime
  3540. arg_ds.Object.StartTime[row] = lo_productcode.StartTime
  3541. arg_ds.Object.EndTime[row] = lo_productcode.EndTime
  3542. arg_ds.Object.PromoName[row] = lo_productcode.PromoName
  3543. arg_ds.Object.PromoTitle[row] = lo_productcode.PromoTitle
  3544. arg_ds.Object.PromoURL[row] = lo_productcode.PromoURL
  3545. arg_ds.Object.PromoRange[row] = lo_productcode.PromoRange
  3546. arg_ds.Object.PromoRemark[row] = lo_productcode.PromoRemark
  3547. arg_ds.Object.PromoCode[row] = lo_productcode.PromoCode
  3548. arg_ds.Object.NodeID[row] = lo_productcode.NodeID
  3549. arg_ds.Object.ProductID[row] = lo_productcode.ProductID
  3550. arg_ds.Object.ProCode[row] = lo_productcode.ProCode
  3551. arg_ds.Object.ProName[row] = lo_productcode.ProName
  3552. arg_ds.Object.ProMode[row] = lo_productcode.ProMode
  3553. arg_ds.Object.ProUnit[row] = lo_productcode.ProUnit
  3554. IF lo_productcode.IsPublic = True THEN
  3555. arg_ds.Object.IsPublic[row] = 1
  3556. ELSE
  3557. arg_ds.Object.IsPublic[row] = 0
  3558. END IF
  3559. arg_ds.Object.PromoType[row] = lo_productcode.PromoType
  3560. arg_ds.Object.MPrice[row] = lo_productcode.MPrice
  3561. arg_ds.Object.NPrice[row] = lo_productcode.NPrice
  3562. NEXT
  3563. ext:
  3564. Destroy ll_proxyfactory
  3565. IF rslt = 1 THEN
  3566. COMMIT;
  3567. ELSE
  3568. ROLLBACK;
  3569. END IF
  3570. RETURN rslt
  3571. end function
  3572. public function integer uf_getbuyinforeplylist (long arg_productid, datetime arg_starttime, datetime arg_endtime, long arg_buyids[], ref datastore arg_ds, ref string arg_msg);Int rslt = 1
  3573. uo_aifmbproxy ll_proxyfactory
  3574. ll_proxyfactory = Create uo_aifmbproxy
  3575. oleobject lo_proxy
  3576. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  3577. rslt = 0
  3578. GOTO ext
  3579. END IF
  3580. oleobject request
  3581. request = lo_proxy.NewGetBuyInfoReplyListRequest()
  3582. IF Not IsNull(Token) And Token <> '' THEN
  3583. request.Token = Token
  3584. END IF
  3585. Long i
  3586. String ls_buyids
  3587. IF UpperBound(arg_buyids) > 0 THEN
  3588. ls_buyids = String(arg_buyids[1])
  3589. FOR i = 2 To UpperBound(arg_buyids)
  3590. ls_buyids += ',' + String(arg_buyids[i])
  3591. NEXT
  3592. request.BuyID = ls_buyids
  3593. END IF
  3594. IF Not IsNull(arg_productid) THEN
  3595. IF arg_productid > 0 THEN
  3596. request.ProductID = arg_productid
  3597. END IF
  3598. END IF
  3599. IF Not IsNull(arg_starttime) THEN
  3600. request.StartTime = arg_starttime
  3601. END IF
  3602. IF Not IsNull(arg_endtime) THEN
  3603. request.EndTime = arg_endtime
  3604. END IF
  3605. oleobject response
  3606. response = lo_proxy.GetBuyInfoReplyList(request)
  3607. IF Not IsNull(response.ErrMsg) THEN
  3608. rslt = 0
  3609. arg_msg = response.ErrMsg
  3610. GOTO ext
  3611. END IF
  3612. IF Not IsValid(arg_ds) THEN
  3613. arg_ds = Create datastore
  3614. END IF
  3615. IF arg_ds.DataObject <> 'ds_aifmb_buyinforeply' THEN
  3616. arg_ds.DataObject = 'ds_aifmb_buyinforeply'
  3617. END IF
  3618. Long cnt, row
  3619. cnt = response.BuyInfoReplyList.Count
  3620. oleobject lo_productcode
  3621. FOR i = 0 To cnt - 1
  3622. lo_productcode = response.BuyInfoReplyList.GetItem(i)
  3623. row = arg_ds.InsertRow(0)
  3624. arg_ds.Object.ReplyID[row] = lo_productcode.ReplyID
  3625. arg_ds.Object.BuyID[row] = lo_productcode.BuyID
  3626. arg_ds.Object.EntID[row] = lo_productcode.EntID
  3627. arg_ds.Object.UserID[row] = lo_productcode.UserID
  3628. arg_ds.Object.ReplyTime[row] = lo_productcode.ReplyTime
  3629. arg_ds.Object.MPrice[row] = lo_productcode.MPrice
  3630. arg_ds.Object.NPrice[row] = lo_productcode.NPrice
  3631. arg_ds.Object.Remark[row] = lo_productcode.Remark
  3632. arg_ds.Object.Status[row] = lo_productcode.Status
  3633. NEXT
  3634. ext:
  3635. Destroy ll_proxyfactory
  3636. RETURN rslt
  3637. end function
  3638. public function string pf_getpromocode ();String ls_typecode = 'EP'
  3639. DateTime ld_date
  3640. ld_date = DateTime(Today(),Time(0))
  3641. Long ll_scid = 0
  3642. Long ll_status = 0
  3643. Int rslt = 1
  3644. String arg_msg
  3645. UPDATE u_bsnNo_aps SET Nmbr = Nmbr + 1
  3646. WHERE scid = :ll_scid
  3647. AND opdate = :ld_date
  3648. AND Typecode = :ls_typecode
  3649. And status = :ll_status;
  3650. IF sqlca.SQLCode <> 0 THEN
  3651. rslt = 0
  3652. arg_msg = sqlca.SQLErrText
  3653. GOTO ext
  3654. END IF
  3655. IF sqlca.SQLNRows = 0 THEN
  3656. INSERT INTO u_bsnNo_aps(scid, opdate, Typecode, Nmbr, status)
  3657. Values(:ll_scid, :ld_date, :ls_typecode, 1, :ll_status);
  3658. IF sqlca.SQLCode <> 0 THEN
  3659. rslt = 0
  3660. arg_msg = sqlca.SQLErrText
  3661. GOTO ext
  3662. END IF
  3663. END IF
  3664. Long ll_nmbr
  3665. SELECT Nmbr
  3666. INTO :ll_nmbr
  3667. FROM u_bsnNo_aps
  3668. WHERE scid = :ll_scid
  3669. AND opdate = :ld_date
  3670. AND Typecode = :ls_typecode
  3671. And status = :ll_status;
  3672. IF sqlca.SQLCode <> 0 THEN
  3673. rslt = 0
  3674. arg_msg = sqlca.SQLErrText
  3675. GOTO ext
  3676. END IF
  3677. ext:
  3678. IF rslt = 1 THEN
  3679. COMMIT;
  3680. RETURN ls_typecode + String(ld_date, 'yyMMdd') + String(EntID) + String(ll_nmbr, '0000')
  3681. ELSE
  3682. ROLLBACK;
  3683. RETURN "";
  3684. END IF
  3685. end function
  3686. public function string pf_getbuycode ();String ls_typecode = 'EB'
  3687. DateTime ld_date
  3688. ld_date = DateTime(Today(),Time(0))
  3689. Long ll_scid = 0
  3690. Long ll_status = 0
  3691. Int rslt = 1
  3692. String arg_msg
  3693. UPDATE u_bsnNo_aps SET Nmbr = Nmbr + 1
  3694. WHERE scid = :ll_scid
  3695. AND opdate = :ld_date
  3696. AND Typecode = :ls_typecode
  3697. And status = :ll_status;
  3698. IF sqlca.SQLCode <> 0 THEN
  3699. rslt = 0
  3700. arg_msg = sqlca.SQLErrText
  3701. GOTO ext
  3702. END IF
  3703. IF sqlca.SQLNRows = 0 THEN
  3704. INSERT INTO u_bsnNo_aps(scid, opdate, Typecode, Nmbr, status)
  3705. Values(:ll_scid, :ld_date, :ls_typecode, 1, :ll_status);
  3706. IF sqlca.SQLCode <> 0 THEN
  3707. rslt = 0
  3708. arg_msg = sqlca.SQLErrText
  3709. GOTO ext
  3710. END IF
  3711. END IF
  3712. Long ll_nmbr
  3713. SELECT Nmbr
  3714. INTO :ll_nmbr
  3715. FROM u_bsnNo_aps
  3716. WHERE scid = :ll_scid
  3717. AND opdate = :ld_date
  3718. AND Typecode = :ls_typecode
  3719. And status = :ll_status;
  3720. IF sqlca.SQLCode <> 0 THEN
  3721. rslt = 0
  3722. arg_msg = sqlca.SQLErrText
  3723. GOTO ext
  3724. END IF
  3725. ext:
  3726. IF rslt = 1 THEN
  3727. COMMIT;
  3728. RETURN ls_typecode + String(ld_date, 'yyMMdd') + String(EntID) + String(ll_nmbr, '0000')
  3729. ELSE
  3730. ROLLBACK;
  3731. RETURN "";
  3732. END IF
  3733. end function
  3734. public function integer pf_resetcominfo (ref string arg_msg);Int rslt = 1
  3735. IF sys_email_sqlca.DBHandle() <= 0 THEN
  3736. rslt = 0
  3737. arg_msg = '未设置邮件数据库'
  3738. GOTO ext
  3739. END IF
  3740. Long cnt
  3741. SELECT count(0)
  3742. INTO :cnt
  3743. FROM LJFIEB_CusComm
  3744. WHERE CusType = 0
  3745. Using sys_email_sqlca;
  3746. IF sys_email_sqlca.SQLCode <> 0 THEN
  3747. rslt = 0
  3748. arg_msg = '获取企业初始信息失败,' + sys_email_sqlca.SQLErrText
  3749. GOTO ext
  3750. END IF
  3751. IF cnt <= 0 THEN
  3752. rslt = 0
  3753. arg_msg = '通信设置不包含本企业信息,请启用通信服务进行初始化'
  3754. GOTO ext
  3755. END IF
  3756. IF cnt > 1 THEN
  3757. rslt = 0
  3758. arg_msg = '通信设置包含多条本企业信息,数据异常'
  3759. GOTO ext
  3760. END IF
  3761. String ls_CusID
  3762. SELECT CusID
  3763. INTO :ls_CusID
  3764. FROM LJFIEB_CusComm
  3765. WHERE CusType = 0
  3766. Using sys_email_sqlca;
  3767. IF sys_email_sqlca.SQLCode <> 0 THEN
  3768. rslt = 0
  3769. arg_msg = '查询本企业唯一码失败,' + sys_email_sqlca.SQLErrText
  3770. GOTO ext
  3771. END IF
  3772. DELETE FROM LJFIEB_ComInfo
  3773. WHERE CusID <> :ls_CusID
  3774. Using sys_email_sqlca;
  3775. IF sys_email_sqlca.SQLCode <> 0 THEN
  3776. rslt = 0
  3777. arg_msg = '删除非法数据失败,' + sys_email_sqlca.SQLErrText
  3778. GOTO ext
  3779. END IF
  3780. SELECT count(0)
  3781. INTO :cnt
  3782. FROM LJFIEB_ComInfo
  3783. WHERE CusID = :ls_CusID
  3784. Using sys_email_sqlca;
  3785. IF sys_email_sqlca.SQLCode <> 0 THEN
  3786. rslt = 0
  3787. arg_msg = '查询本企业信息是否存在失败,' + sys_email_sqlca.SQLErrText
  3788. GOTO ext
  3789. END IF
  3790. IF cnt <= 0 THEN
  3791. INSERT INTO LJFIEB_ComInfo(CusID)
  3792. VALUES(:ls_CusID)
  3793. Using sys_email_sqlca;
  3794. IF sys_email_sqlca.SQLCode <> 0 THEN
  3795. rslt = 0
  3796. arg_msg = '初始化本企业信息失败,' + sys_email_sqlca.SQLErrText
  3797. GOTO ext
  3798. END IF
  3799. END IF
  3800. ext:
  3801. IF rslt = 1 THEN
  3802. COMMIT Using sys_email_sqlca;
  3803. ELSE
  3804. ROLLBACK Using sys_email_sqlca;
  3805. END IF
  3806. RETURN rslt
  3807. end function
  3808. public function integer uf_tryautologin (ref string arg_msg);Int rslt = 1
  3809. Long ll_rtn = 0
  3810. String ls_logname, ls_logpsw
  3811. IF IsNull(Token) Or Token = '' THEN
  3812. IF pf_gettoken(arg_msg) <> 1 THEN
  3813. rslt = 0
  3814. GOTO ext
  3815. END IF
  3816. END IF
  3817. IF pf_getlocalcominfo(arg_msg) <> 1 THEN
  3818. rslt = 0
  3819. GOTO ext
  3820. END IF
  3821. IF local_userid <= 0 and sys_power_issuper THEN
  3822. // DONE: 注册流程
  3823. Open(w_aifmb_regcom)
  3824. ll_rtn = Message.DoubleParm
  3825. IF ll_rtn = 1 THEN
  3826. IF pf_getlocalcominfo(arg_msg) <> 1 THEN
  3827. rslt = 0
  3828. GOTO ext
  3829. END IF
  3830. END IF
  3831. END IF
  3832. IF local_userid > 0 THEN
  3833. IF UserID <= 0 THEN
  3834. // DONE: 登陆流程
  3835. SELECT aifmb_logname, aifmb_logpsw
  3836. INTO :ls_logname, :ls_logpsw
  3837. FROM u_user
  3838. WHERE scid = :sys_scid
  3839. AND empid = :sys_empid
  3840. Using sqlca;
  3841. IF sqlca.SQLCode <> 0 THEN
  3842. rslt = 0
  3843. arg_msg = '查询操作员绑定的用户名失败,' + sqlca.SQLErrText
  3844. GOTO ext
  3845. END IF
  3846. IF ls_logname <> '' THEN
  3847. IF uf_userlogin(ls_logname, ls_logpsw, '', arg_msg) <> 1 THEN
  3848. END IF
  3849. END IF
  3850. END IF
  3851. IF UserID <= 0 THEN
  3852. Open(w_aifmb_login_response)
  3853. END IF
  3854. END IF
  3855. ext:
  3856. RETURN rslt
  3857. end function
  3858. public subroutine pf_reset ();EntID = 0
  3859. EntName = ''
  3860. UserID = 0
  3861. LoginName = ''
  3862. UserName = ''
  3863. Powers = ''
  3864. LoginSuccess = false
  3865. auditflag = 0
  3866. tele = ''
  3867. phone = ''
  3868. email = ''
  3869. QQ = ''
  3870. // 本地企业信息
  3871. local_userid = 0
  3872. local_username = ''
  3873. local_cusid = ''
  3874. end subroutine
  3875. public function integer uf_modentpsw (string arg_oldpsw, string arg_newpsw, ref string arg_msg);Int rslt = 1
  3876. uo_aifmbproxy ll_proxyfactory
  3877. ll_proxyfactory = Create uo_aifmbproxy
  3878. IF sys_email_sqlca.DBHandle() <= 0 THEN
  3879. rslt = 0
  3880. arg_msg = '邮件数据库未连接'
  3881. GOTO ext
  3882. END IF
  3883. // DONE: 修改本地密码
  3884. UPDATE LJFIEB_ComInfo SET
  3885. psw = :arg_newpsw
  3886. Using sys_email_sqlca;
  3887. IF sys_email_sqlca.SQLCode <> 0 THEN
  3888. rslt = 0
  3889. arg_msg = '更新本地缓存密码失败,' + sys_email_sqlca.SQLErrText
  3890. GOTO ext
  3891. END IF
  3892. IF sys_email_sqlca.SQLNRows <> 1 THEN
  3893. rslt = 0
  3894. arg_msg = '更新表LJFIEB_ComInfo失败,需要修复'
  3895. GOTO ext
  3896. END IF
  3897. oleobject lo_proxy
  3898. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  3899. rslt = 0
  3900. GOTO ext
  3901. END IF
  3902. oleobject request
  3903. request = lo_proxy.NewModEntPswRequest()
  3904. IF Not IsNull(Token) And Token <> '' THEN
  3905. request.Token = Token
  3906. END IF
  3907. request.oldpsw = arg_oldpsw
  3908. request.newpsw = arg_newpsw
  3909. oleobject response
  3910. response = lo_proxy.ModEntPsw(request)
  3911. IF Not IsNull(response.ErrMsg) THEN
  3912. rslt = 0
  3913. arg_msg = response.ErrMsg
  3914. GOTO ext
  3915. END IF
  3916. ext:
  3917. Destroy ll_proxyfactory
  3918. IF rslt = 1 THEN
  3919. COMMIT;
  3920. COMMIT Using sys_email_sqlca;
  3921. ELSE
  3922. ROLLBACK;
  3923. ROLLBACK Using sys_email_sqlca;
  3924. END IF
  3925. RETURN rslt
  3926. end function
  3927. public function long sf_auditflag ();return auditflag
  3928. end function
  3929. public function string sf_tele ();return tele
  3930. end function
  3931. public function string sf_phone ();return phone
  3932. end function
  3933. public function string sf_email ();return email
  3934. end function
  3935. public function string sf_qq ();return QQ
  3936. end function
  3937. public function integer uf_inquire_gettome (datastore arg_ds, ref string arg_msg);Int rslt = 1
  3938. // TODO: 获取我的询价
  3939. uo_aifmbproxy ll_proxyfactory
  3940. ll_proxyfactory = Create uo_aifmbproxy
  3941. oleobject lo_proxy
  3942. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  3943. rslt = 0
  3944. GOTO ext
  3945. END IF
  3946. IF IsNull(token) Or token = '' THEN
  3947. IF pf_GetToken(arg_msg) <> 1 THEN
  3948. GOTO ext
  3949. END IF
  3950. END IF
  3951. oleobject request
  3952. request = lo_proxy.NewGetInquireRequest()
  3953. request.token = token
  3954. request.ToEntID = String(EntID)
  3955. request.isInquire = 1
  3956. oleobject response
  3957. response = lo_proxy.GetInquire(request)
  3958. IF Not IsNull(response.ErrMsg) THEN
  3959. rslt = 0
  3960. arg_msg = response.ErrMsg
  3961. GOTO ext
  3962. END IF
  3963. IF Not IsValid(arg_ds) THEN
  3964. arg_ds = Create datastore
  3965. END IF
  3966. IF arg_ds.DataObject <> 'dw_aifmb_inquire' THEN
  3967. arg_ds.DataObject = 'dw_aifmb_inquire'
  3968. END IF
  3969. Long cnt
  3970. cnt = response.imList.Count
  3971. oleobject im
  3972. Long i, j
  3973. FOR i = 0 To cnt - 1
  3974. im = response.imList.GetItem(i)
  3975. j = arg_ds.InsertRow(0)
  3976. IF Not IsNull(im.InquireID) THEN arg_ds.Object.InquireID[j] = im.InquireID
  3977. IF Not IsNull(im.FromEntID) THEN arg_ds.Object.FromEntID[j] = im.FromEntID
  3978. IF Not IsNull(im.FromUserID) THEN arg_ds.Object.FromUserID[j] = im.FromUserID
  3979. IF Not IsNull(im.ToEntID) THEN arg_ds.Object.ToEntID[j] = im.ToEntID
  3980. IF Not IsNull(im.ToUserID) THEN arg_ds.Object.ToUserID[j] = im.ToUserID
  3981. IF Not IsNull(im.InquireStatus) THEN arg_ds.Object.InquireStatus[j] = im.InquireStatus
  3982. IF Not IsNull(im.ReadStatus1) THEN arg_ds.Object.ReadStatus1[j] = im.ReadStatus1
  3983. IF Not IsNull(im.ReadStatus2) THEN arg_ds.Object.ReadStatus2[j] = im.ReadStatus2
  3984. IF Not IsNull(im.ProductID) THEN arg_ds.Object.ProductID[j] = im.ProductID
  3985. IF Not IsNull(im.Quantity) THEN arg_ds.Object.Quantity[j] = im.Quantity
  3986. IF Not IsNull(im.Unit) THEN arg_ds.Object.Unit[j] = im.Unit
  3987. IF Not IsNull(im.MPrice) THEN arg_ds.Object.MPrice[j] = im.MPrice
  3988. IF Not IsNull(im.NPrice) THEN arg_ds.Object.NPrice[j] = im.NPrice
  3989. IF Not IsNull(im.QuoteStatus) THEN arg_ds.Object.QuoteStatus[j] = im.QuoteStatus
  3990. IF Not IsNull(im.QuoteUserID) THEN arg_ds.Object.QuoteUserID[j] = im.QuoteUserID
  3991. IF Not IsNull(im.QuoteDate) THEN arg_ds.Object.QuoteDate[j] = im.QuoteDate
  3992. IF Not IsNull(im.InquireRemark) THEN arg_ds.Object.InquireRemark[j] = im.InquireRemark
  3993. IF Not IsNull(im.CreatDate) THEN arg_ds.Object.CreatDate[j] = im.CreatDate
  3994. IF Not IsNull(im.DesiredPrice) THEN arg_ds.Object.DesiredPrice[j] = im.DesiredPrice
  3995. IF Not IsNull(im.ToEnt) THEN arg_ds.Object.ToEnt[j] = im.ToEnt
  3996. IF Not IsNull(im.ToUser) THEN arg_ds.Object.ToUser[j] = im.ToUser
  3997. IF Not IsNull(im.mtrlcode) THEN arg_ds.Object.mtrlcode[j] = im.mtrlcode
  3998. IF Not IsNull(im.mtrlname) THEN arg_ds.Object.mtrlname[j] = im.mtrlname
  3999. IF Not IsNull(im.mtrlmode) THEN arg_ds.Object.mtrlmode[j] = im.mtrlmode
  4000. IF Not IsNull(im.QuoteUser) THEN arg_ds.Object.QuoteUser[j] = im.QuoteUser
  4001. IF Not IsNull(im.FromEnt) THEN arg_ds.Object.FromEnt[j] = im.FromEnt
  4002. IF Not IsNull(im.FromUser) THEN arg_ds.Object.FromUser[j] = im.FromUser
  4003. NEXT
  4004. ext:
  4005. Destroy ll_proxyfactory
  4006. RETURN rslt
  4007. end function
  4008. public function integer uf_inquire_getfromme (datastore arg_ds, ref string arg_msg);Int rslt = 1
  4009. // DONE: 获取我的询价
  4010. uo_aifmbproxy ll_proxyfactory
  4011. ll_proxyfactory = Create uo_aifmbproxy
  4012. oleobject lo_proxy
  4013. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  4014. rslt = 0
  4015. GOTO ext
  4016. END IF
  4017. IF IsNull(token) Or token = '' THEN
  4018. IF pf_GetToken(arg_msg) <> 1 THEN
  4019. GOTO ext
  4020. END IF
  4021. END IF
  4022. oleobject request
  4023. request = lo_proxy.NewGetInquireRequest()
  4024. request.token = token
  4025. request.FromEntID = String(EntID)
  4026. request.isInquire = 0
  4027. oleobject response
  4028. response = lo_proxy.GetInquire(request)
  4029. IF Not IsNull(response.ErrMsg) THEN
  4030. rslt = 0
  4031. arg_msg = response.ErrMsg
  4032. GOTO ext
  4033. END IF
  4034. IF Not IsValid(arg_ds) THEN
  4035. arg_ds = Create datastore
  4036. END IF
  4037. IF arg_ds.DataObject <> 'dw_aifmb_inquire' THEN
  4038. arg_ds.DataObject = 'dw_aifmb_inquire'
  4039. END IF
  4040. Long cnt
  4041. cnt = response.imList.Count
  4042. oleobject im
  4043. Long i, j
  4044. FOR i = 0 To cnt - 1
  4045. im = response.imList.GetItem(i)
  4046. j = arg_ds.InsertRow(0)
  4047. IF Not IsNull(im.inquireid) THEN arg_ds.Object.inquireid[j] = im.inquireid
  4048. IF Not IsNull(im.FromEntID) THEN arg_ds.Object.FromEntID[j] = im.FromEntID
  4049. IF Not IsNull(im.fromuserid) THEN arg_ds.Object.fromuserid[j] = im.fromuserid
  4050. IF Not IsNull(im.toentid) THEN arg_ds.Object.toentid[j] = im.toentid
  4051. IF Not IsNull(im.touserid) THEN arg_ds.Object.touserid[j] = im.touserid
  4052. IF Not IsNull(im.inquirestatus) THEN arg_ds.Object.inquirestatus[j] = im.inquirestatus
  4053. IF Not IsNull(im.readstatus1) THEN arg_ds.Object.readstatus1[j] = im.readstatus1
  4054. IF Not IsNull(im.readstatus2) THEN arg_ds.Object.readstatus2[j] = im.readstatus2
  4055. IF Not IsNull(im.ProductID) THEN arg_ds.Object.ProductID[j] = im.ProductID
  4056. IF Not IsNull(im.Quantity) THEN arg_ds.Object.Quantity[j] = im.Quantity
  4057. IF Not IsNull(im.Unit) THEN arg_ds.Object.Unit[j] = im.Unit
  4058. IF Not IsNull(im.MPrice) THEN arg_ds.Object.MPrice[j] = im.MPrice
  4059. IF Not IsNull(im.NPrice) THEN arg_ds.Object.NPrice[j] = im.NPrice
  4060. IF Not IsNull(im.QuoteStatus) THEN arg_ds.Object.QuoteStatus[j] = im.QuoteStatus
  4061. IF Not IsNull(im.QuoteUserID) THEN arg_ds.Object.QuoteUserID[j] = im.QuoteUserID
  4062. IF Not IsNull(im.QuoteDate) THEN arg_ds.Object.QuoteDate[j] = im.QuoteDate
  4063. IF Not IsNull(im.InquireRemark) THEN arg_ds.Object.InquireRemark[j] = im.InquireRemark
  4064. IF Not IsNull(im.CreatDate) THEN arg_ds.Object.CreatDate[j] = im.CreatDate
  4065. IF Not IsNull(im.DesiredPrice) THEN arg_ds.Object.DesiredPrice[j] = im.DesiredPrice
  4066. IF Not IsNull(im.ToEnt) THEN arg_ds.Object.ToEnt[j] = im.ToEnt
  4067. IF Not IsNull(im.ToUser) THEN arg_ds.Object.ToUser[j] = im.ToUser
  4068. IF Not IsNull(im.mtrlcode) THEN arg_ds.Object.mtrlcode[j] = im.mtrlcode
  4069. IF Not IsNull(im.mtrlname) THEN arg_ds.Object.mtrlname[j] = im.mtrlname
  4070. IF Not IsNull(im.mtrlmode) THEN arg_ds.Object.mtrlmode[j] = im.mtrlmode
  4071. IF Not IsNull(im.QuoteUser) THEN arg_ds.Object.QuoteUser[j] = im.QuoteUser
  4072. IF Not IsNull(im.FromEnt) THEN arg_ds.Object.FromEnt[j] = im.FromEnt
  4073. IF Not IsNull(im.FromUser) THEN arg_ds.Object.FromUser[j] = im.FromUser
  4074. NEXT
  4075. ext:
  4076. Destroy ll_proxyfactory
  4077. RETURN rslt
  4078. end function
  4079. public function integer uf_inquire_add (ref s_aifmb_inquire_add s_tran, ref string arg_msg);int rslt = 1
  4080. uo_aifmbproxy ll_proxyfactory
  4081. ll_proxyfactory = Create uo_aifmbproxy
  4082. oleobject lo_proxy
  4083. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  4084. rslt = 0
  4085. GOTO ext
  4086. END IF
  4087. IF IsNull(token) Or token = '' THEN
  4088. IF pf_GetToken(arg_msg) <> 1 THEN
  4089. GOTO ext
  4090. END IF
  4091. END IF
  4092. oleobject request
  4093. request = lo_proxy.NewSetInquireRequest()
  4094. request.token = token
  4095. request.ToEntID = s_tran.toentid
  4096. request.ProductID = s_tran.productid
  4097. request.Unit = s_tran.unit
  4098. request.Quantity = s_tran.quantity
  4099. request.MPrice = s_tran.mprice
  4100. request.NPrice = s_tran.nprice
  4101. request.InquireRemark = s_tran.inquireremark
  4102. request.DesiredPrice = s_tran.desiredprice
  4103. oleobject response
  4104. response = lo_proxy.SetInquire(request)
  4105. IF Not IsNull(response.ErrMsg) THEN
  4106. rslt = 0
  4107. arg_msg = response.ErrMsg
  4108. GOTO ext
  4109. END IF
  4110. ext:
  4111. Destroy ll_proxyfactory
  4112. return rslt
  4113. end function
  4114. public function integer uf_inquire_rsp (ref s_aifmb_inquire_add s_tran, ref string arg_msg);int rslt = 1
  4115. uo_aifmbproxy ll_proxyfactory
  4116. ll_proxyfactory = Create uo_aifmbproxy
  4117. oleobject lo_proxy
  4118. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  4119. rslt = 0
  4120. GOTO ext
  4121. END IF
  4122. IF IsNull(token) Or token = '' THEN
  4123. IF pf_GetToken(arg_msg) <> 1 THEN
  4124. GOTO ext
  4125. END IF
  4126. END IF
  4127. oleobject request
  4128. request = lo_proxy.NewSetInquireRequest()
  4129. request.token = token
  4130. request.InquireID = s_tran.InquireID
  4131. request.MPrice = s_tran.mprice
  4132. request.NPrice = s_tran.nprice
  4133. oleobject response
  4134. response = lo_proxy.SetInquire(request)
  4135. IF Not IsNull(response.ErrMsg) THEN
  4136. rslt = 0
  4137. arg_msg = response.ErrMsg
  4138. GOTO ext
  4139. END IF
  4140. ext:
  4141. Destroy ll_proxyfactory
  4142. return rslt
  4143. end function
  4144. public function integer uf_inquire_cfm (ref s_aifmb_inquire_add s_tran, ref string arg_msg);int rslt = 1
  4145. uo_aifmbproxy ll_proxyfactory
  4146. ll_proxyfactory = Create uo_aifmbproxy
  4147. oleobject lo_proxy
  4148. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  4149. rslt = 0
  4150. GOTO ext
  4151. END IF
  4152. IF IsNull(token) Or token = '' THEN
  4153. IF pf_GetToken(arg_msg) <> 1 THEN
  4154. GOTO ext
  4155. END IF
  4156. END IF
  4157. oleobject request
  4158. request = lo_proxy.NewSetInquireRequest()
  4159. request.token = token
  4160. request.InquireID = s_tran.InquireID
  4161. oleobject response
  4162. response = lo_proxy.SetInquire(request)
  4163. IF Not IsNull(response.ErrMsg) THEN
  4164. rslt = 0
  4165. arg_msg = response.ErrMsg
  4166. GOTO ext
  4167. END IF
  4168. ext:
  4169. Destroy ll_proxyfactory
  4170. return rslt
  4171. end function
  4172. public function integer uf_setentlinkstatus (integer arg_receivemsg, ref string arg_msg);Int rslt = 1
  4173. uo_aifmbproxy ll_proxyfactory
  4174. ll_proxyfactory = Create uo_aifmbproxy
  4175. oleobject lo_proxy
  4176. IF IsNull(token) Or token = '' THEN
  4177. IF pf_GetToken(arg_msg) <> 1 THEN
  4178. GOTO ext
  4179. END IF
  4180. END IF
  4181. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  4182. rslt = 0
  4183. GOTO ext
  4184. END IF
  4185. oleobject request
  4186. request = lo_proxy.NewSetEntLinkStatusRequest()
  4187. request.token = token
  4188. oleobject EntLinkStatus
  4189. EntLinkStatus = lo_proxy.NewEntLinkStatus()
  4190. EntLinkStatus.EntID = EntID
  4191. EntLinkStatus.SoftType = sys_project + 1
  4192. EntLinkStatus.LinkType = 1
  4193. EntLinkStatus.ReceiveMsg = (arg_receivemsg = 1)
  4194. request.EntLinkStatusData = EntLinkStatus
  4195. oleobject response
  4196. response = lo_proxy.SetEntLinkStatus(request)
  4197. IF Not IsNull(response.ErrMsg) THEN
  4198. rslt = 0
  4199. arg_msg = response.ErrMsg
  4200. GOTO ext
  4201. END IF
  4202. ext:
  4203. Destroy ll_proxyfactory
  4204. RETURN rslt
  4205. end function
  4206. public function integer uf_getlinkedentlist (datastore arg_ds, long arg_pageindex, long arg_pagesize, ref string arg_msg);Int rslt = 1
  4207. uo_aifmbproxy ll_proxyfactory
  4208. ll_proxyfactory = Create uo_aifmbproxy
  4209. oleobject lo_proxy
  4210. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  4211. rslt = 0
  4212. GOTO ext
  4213. END IF
  4214. oleobject request
  4215. request = lo_proxy.NewGetLinkedEntListRequest()
  4216. IF Not IsNull(Token) And Token <> '' THEN
  4217. request.Token = Token
  4218. END IF
  4219. request.PageIndex = arg_pageindex
  4220. request.PageSize = arg_pagesize
  4221. oleobject response
  4222. response = lo_proxy.GetLinkedEntList(request)
  4223. IF Not IsNull(response.ErrMsg) THEN
  4224. rslt = 0
  4225. arg_msg = response.ErrMsg
  4226. GOTO ext
  4227. END IF
  4228. IF Not IsValid(arg_ds) THEN
  4229. arg_ds = Create datastore
  4230. END IF
  4231. // DONE: 修改DATASource
  4232. IF arg_ds.DataObject <> 'dw_aifmb_querycom2' THEN
  4233. arg_ds.DataObject = 'dw_aifmb_querycom2'
  4234. END IF
  4235. Long cnt
  4236. cnt = response.returnList.Count
  4237. Long i
  4238. Long row
  4239. oleobject lo_item
  4240. FOR i = 0 To cnt - 1
  4241. lo_item = response.returnList.GetItem(i)
  4242. row = arg_ds.InsertRow(0)
  4243. arg_ds.Object.UserID[row] = lo_item.UserID
  4244. arg_ds.Object.CusID[row] = lo_item.CusID
  4245. arg_ds.Object.usercode[row] = lo_item.usercode
  4246. arg_ds.Object.username[row] = lo_item.username
  4247. arg_ds.Object.regtime[row] = lo_item.regtime
  4248. arg_ds.Object.tele[row] = lo_item.tele
  4249. arg_ds.Object.phone[row] = lo_item.phone
  4250. arg_ds.Object.Address[row] = lo_item.Address
  4251. arg_ds.Object.email[row] = lo_item.email
  4252. arg_ds.Object.dscrp[row] = lo_item.dscrp
  4253. arg_ds.Object.comcode[row] = lo_item.comcode
  4254. arg_ds.Object.auditflag[row] = lo_item.auditflag
  4255. arg_ds.Object.auditemp[row] = lo_item.auditemp
  4256. arg_ds.Object.auditdate[row] = lo_item.auditdate
  4257. arg_ds.Object.UserType[row] = lo_item.UserType
  4258. arg_ds.Object.inuse[row] = lo_item.inuse
  4259. arg_ds.Object.Introduction[row] = lo_item.Introduction
  4260. arg_ds.Object.IsAsia[row] = lo_item.IsAsia
  4261. arg_ds.Object.AsiaCode[row] = lo_item.AsiaCode
  4262. arg_ds.Object.SoftType[row] = lo_item.SoftType
  4263. arg_ds.Object.LinkType[row] = lo_item.LinkType
  4264. arg_ds.Object.ReceiveMsg[row] = lo_item.ReceiveMsg
  4265. NEXT
  4266. ext:
  4267. Destroy ll_proxyfactory
  4268. IF rslt = 1 THEN
  4269. COMMIT;
  4270. ELSE
  4271. ROLLBACK;
  4272. END IF
  4273. RETURN rslt
  4274. end function
  4275. public function integer uf_setentlinkmsg (long arg_receiveentids[], string arg_msgcontent, string arg_linkstring, ref string arg_msg);Int rslt = 1
  4276. uo_aifmbproxy ll_proxyfactory
  4277. ll_proxyfactory = Create uo_aifmbproxy
  4278. oleobject lo_proxy
  4279. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  4280. rslt = 0
  4281. GOTO ext
  4282. END IF
  4283. oleobject request
  4284. request = lo_proxy.NewSetEntLinkMsgRequest()
  4285. IF Not IsNull(Token) And Token <> '' THEN
  4286. request.Token = Token
  4287. END IF
  4288. string ls_ents = ''
  4289. long i
  4290. for i = 1 to upperbound(arg_receiveentids)
  4291. if ls_ents <> '' then ls_ents += ','
  4292. ls_ents += string(arg_receiveentids[i])
  4293. next
  4294. request.ReceiveEntIDs = ls_ents
  4295. oleobject lo_msg
  4296. lo_msg = lo_proxy.NewEntLinkMsg()
  4297. lo_msg.MsgContent = arg_msgcontent
  4298. lo_msg.LinkString = arg_linkstring
  4299. request.entlinkmsgInfo = lo_msg
  4300. oleobject response
  4301. response = lo_proxy.SetBuyInfo(request)
  4302. IF Not IsNull(response.ErrMsg) THEN
  4303. rslt = 0
  4304. arg_msg = response.ErrMsg
  4305. GOTO ext
  4306. END IF
  4307. ext:
  4308. Destroy ll_proxyfactory
  4309. RETURN rslt
  4310. end function
  4311. public function integer uf_getentlinkmsglist (ref datastore arg_ds, boolean arg_receive, boolean arg_send, boolean arg_isdeal, long arg_pageindex, long arg_pagesize, ref string arg_msg);Int rslt = 1
  4312. uo_aifmbproxy ll_proxyfactory
  4313. ll_proxyfactory = Create uo_aifmbproxy
  4314. oleobject lo_proxy
  4315. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  4316. rslt = 0
  4317. GOTO ext
  4318. END IF
  4319. oleobject request
  4320. request = lo_proxy.NewGetEntLinkMsgListRequest()
  4321. IF Not IsNull(Token) And Token <> '' THEN
  4322. request.Token = Token
  4323. END IF
  4324. request.Receive = arg_receive
  4325. request.Send = arg_send
  4326. request.isDeal = arg_isdeal
  4327. request.PageIndex = arg_pageindex
  4328. request.PageSize = arg_pagesize
  4329. oleobject response
  4330. response = lo_proxy.GetEntLinkMsgList(request)
  4331. IF Not IsNull(response.ErrMsg) THEN
  4332. rslt = 0
  4333. arg_msg = response.ErrMsg
  4334. GOTO ext
  4335. END IF
  4336. IF Not IsValid(arg_ds) THEN
  4337. arg_ds = Create datastore
  4338. END IF
  4339. IF arg_ds.DataObject <> 'w_aifmb_addcuscomm_request2' THEN
  4340. arg_ds.DataObject = 'w_aifmb_addcuscomm_request2'
  4341. END IF
  4342. Long cnt, row,i
  4343. cnt = response.EntLinkMsgList.Count
  4344. oleobject lo_productcode
  4345. FOR i = 0 To cnt - 1
  4346. lo_productcode = response.EntLinkMsgList.GetItem(i)
  4347. row = arg_ds.InsertRow(0)
  4348. arg_ds.Object.MsgID[row] = lo_productcode.MsgID
  4349. arg_ds.Object.ReceiveEntID[row] = lo_productcode.ReceiveEntID
  4350. arg_ds.Object.SendEntID[row] = lo_productcode.SendEntID
  4351. arg_ds.Object.SendUserID[row] = lo_productcode.SendUserID
  4352. arg_ds.Object.DealUserID[row] = lo_productcode.DealUserID
  4353. arg_ds.Object.MsgContent[row] = lo_productcode.MsgContent
  4354. arg_ds.Object.LinkString[row] = lo_productcode.LinkString
  4355. arg_ds.Object.DealDate[row] = lo_productcode.DealDate
  4356. arg_ds.Object.SendDate[row] = lo_productcode.SendDate
  4357. arg_ds.Object.DealFlag[row] = lo_productcode.DealFlag
  4358. NEXT
  4359. ext:
  4360. Destroy ll_proxyfactory
  4361. IF rslt = 1 THEN
  4362. COMMIT;
  4363. ELSE
  4364. ROLLBACK;
  4365. END IF
  4366. RETURN rslt
  4367. end function
  4368. on uo_aifmb.create
  4369. call super::create
  4370. TriggerEvent( this, "constructor" )
  4371. end on
  4372. on uo_aifmb.destroy
  4373. TriggerEvent( this, "destructor" )
  4374. call super::destroy
  4375. end on