123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262 |
- $PBExportHeader$uo_cust.sru
- forward
- global type uo_cust from nonvisualobject
- end type
- end forward
- global type uo_cust from nonvisualobject
- end type
- global uo_cust uo_cust
- type variables
- Long uo_cusid
- end variables
- forward prototypes
- public function integer uof_add_plan (s_cust_plan arg_s_cust_plan, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_cust (s_custom arg_s_cust, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_del_interview (long arg_interviewid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_del_plan (long arg_planid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_del_rep (long arg_repid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_rep (s_cust_rep arg_s_cust_rep, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_del_cust (long arg_cusid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_change_state (long arg_cusid, integer arg_state, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_del_station (long arg_cusid, long arg_stationid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_station (s_cust_station arg_s_cust_station, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_set_dft_station (s_cust_station arg_s_cust_station, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_item (s_item_cust_spt arg_s_item, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_sample (s_cust_sample arg_s_cust_sample, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_del_sample (long arg_sampleid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_code_find (long arg_id, string arg_code, ref string arg_msg)
- public function integer uof_del_giveback_rule (long arg_ruleid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_giveback_rule (s_cust_giveback_rule arg_s_rule, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_cust_score (long arg_cusid, decimal arg_score, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_update_member (long arg_cusid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_audit (long arg_cusid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_secaudit (long arg_cusid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_c_secaudit (long arg_cusid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_c_audit (long arg_cusid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_update_pricelist (long arg_cusid, string arg_opemp, long arg_pricelistid, string arg_grade, decimal arg_rebate, long arg_exchangeid, string arg_pricedscrp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_interview (ref s_cust_interview arg_s_cust_interview, string arg_opemp, ref string arg_msg, boolean arg_ifcommit)
- end prototypes
- public function integer uof_add_plan (s_cust_plan arg_s_cust_plan, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_planid
- long ll_empid
- string ls_cusname,ls_topic
- IF IsNull(arg_s_cust_plan.saler) THEN arg_s_cust_plan.saler = ''
- IF IsNull(arg_s_cust_plan.planrep) THEN arg_s_cust_plan.planrep = ''
- IF IsNull(arg_s_cust_plan.plancontent) THEN arg_s_cust_plan.plancontent = ''
- IF IsNull(arg_s_cust_plan.dscrp) THEN arg_s_cust_plan.dscrp = ''
- IF IsNull(arg_s_cust_plan.cusid) THEN arg_s_cust_plan.cusid = 0
- IF IsNull(arg_s_cust_plan.planid) THEN arg_s_cust_plan.planid = 0
- IF IsNull(arg_s_cust_plan.perdaynum) THEN arg_s_cust_plan.perdaynum = 0
- IF arg_s_cust_plan.saler = '' THEN
- arg_msg = '请输入业务员'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_cust_plan.plancontent = '' THEN
- arg_msg = '请输入计划内容'
- rslt = 0
- GOTO ext
- END IF
- select empid into :ll_empid
- from u_rs_empinfo
- where empname = :arg_s_cust_plan.saler;
- if sqlca.sqlcode <> 0 then ll_empid = 0
- SELECT name INTO :ls_cusname
- FROM u_cust
- Where cusid = :arg_s_cust_plan.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ls_topic = '走访 '+ls_cusname
- IF arg_s_cust_plan.planid = 0 THEN
- ll_planid = f_sys_scidentity(0,"oa_emp_workplan","planid",arg_msg,TRUE,id_sqlca)
- IF ll_planid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO oa_emp_workplan
- (planid,
- relid,
- empname,
- stime,
- etime,
- relrep,
- content,
- dscrp,
- opdate,
- opemp,
- kind,
- empid,
- topic,
- perdaynum)
- VALUES(:ll_planid,
- :arg_s_cust_plan.cusid,
- :arg_s_cust_plan.saler,
- :arg_s_cust_plan.plandate,
- :arg_s_cust_plan.plandate,
- :arg_s_cust_plan.planrep,
- :arg_s_cust_plan.plancontent,
- :arg_s_cust_plan.dscrp,
- getdate(),
- :arg_opemp,
- 1,
- :ll_empid,
- :ls_topic,
- :arg_s_cust_plan.perdaynum);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立客户计划失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ELSE
- UPDATE oa_emp_workplan
- SET empname = :arg_s_cust_plan.saler,
- stime = :arg_s_cust_plan.plandate,
- etime = :arg_s_cust_plan.plandate,
- relrep = :arg_s_cust_plan.planrep,
- content = :arg_s_cust_plan.plancontent,
- dscrp = :arg_s_cust_plan.dscrp,
- moddate = getdate(),
- modemp = :arg_opemp,
- empid = :ll_empid,
- topic = :ls_topic,
- perdaynum = :arg_s_cust_plan.perdaynum
- Where planid = :arg_s_cust_plan.planid
- and kind = 1;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户计划失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_add_cust (s_custom arg_s_cust, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_cusid,ll_i,ll_repid
- String ls_cusareaname,ls_areaname
- IF IsNull(arg_s_cust.cusid) THEN arg_s_cust.cusid = 0
- IF IsNull(arg_s_cust.cuscode) THEN arg_s_cust.cuscode = ''
- IF IsNull(arg_s_cust.Name) THEN arg_s_cust.Name = ''
- IF IsNull(arg_s_cust.bsntype) THEN arg_s_cust.bsntype = ''
- IF IsNull(arg_s_cust.rep) THEN arg_s_cust.rep = ''
- IF IsNull(arg_s_cust.tele) THEN arg_s_cust.tele = ''
- IF IsNull(arg_s_cust.tele1) THEN arg_s_cust.tele1 = ''
- IF IsNull(arg_s_cust.bank) THEN arg_s_cust.bank = ''
- IF IsNull(arg_s_cust.cunt) THEN arg_s_cust.cunt = ''
- IF IsNull(arg_s_cust.Address) THEN arg_s_cust.Address = ''
- IF IsNull(arg_s_cust.code) THEN arg_s_cust.code = ''
- IF IsNull(arg_s_cust.dscrp) THEN arg_s_cust.dscrp = ''
- IF IsNull(arg_s_cust.givebackrate) THEN arg_s_cust.givebackrate = 0
- IF IsNull(arg_s_cust.freight) THEN arg_s_cust.freight = ''
- IF IsNull(arg_s_cust.freight_tele) THEN arg_s_cust.freight_tele = ''
- IF IsNull(arg_s_cust.fax) THEN arg_s_cust.fax = ''
- IF IsNull(arg_s_cust.upname) THEN arg_s_cust.upname = ''
- IF IsNull(arg_s_cust.inuse) THEN arg_s_cust.inuse = 0
- IF IsNull(arg_s_cust.cusareaid) THEN arg_s_cust.cusareaid = 0
- IF IsNull(arg_s_cust.areaname) THEN arg_s_cust.areaname = ''
- IF IsNull(arg_s_cust.cusareaname) THEN arg_s_cust.cusareaname = ''
- IF IsNull(arg_s_cust.email) THEN arg_s_cust.email = ''
- IF IsNull(arg_s_cust.State) THEN arg_s_cust.State = 0
- IF IsNull(arg_s_cust.peoplenum) THEN arg_s_cust.peoplenum = 0
- IF IsNull(arg_s_cust.mainmarket) THEN arg_s_cust.mainmarket = ''
- IF IsNull(arg_s_cust.saleamt) THEN arg_s_cust.saleamt = 0
- IF IsNull(arg_s_cust.nethttp) THEN arg_s_cust.nethttp = ''
- IF IsNull(arg_s_cust.trade) THEN arg_s_cust.trade = ''
- IF IsNull(arg_s_cust.corporation) THEN arg_s_cust.corporation = ''
- IF IsNull(arg_s_cust.grade) THEN arg_s_cust.grade = ''
- IF IsNull(arg_s_cust.ifself) THEN arg_s_cust.ifself = 0
- IF IsNull(arg_s_cust.cuskind) THEN arg_s_cust.cuskind = ''
- IF IsNull(arg_s_cust.simplename) THEN arg_s_cust.simplename = ''
- IF IsNull(arg_s_cust.viewdaynum) THEN arg_s_cust.viewdaynum = 0
- IF IsNull(arg_s_cust.tele_sms) THEN arg_s_cust.tele_sms = ''
- IF IsNull(arg_s_cust.styleid) THEN arg_s_cust.styleid = 0
- IF IsNull(arg_s_cust.banktypeid) THEN arg_s_cust.banktypeid = 0
- IF IsNull(arg_s_cust.moneyid) THEN arg_s_cust.moneyid = 0
- IF IsNull(arg_s_cust.transday) THEN arg_s_cust.transday = 0
- IF IsNull(arg_s_cust.memberid) THEN arg_s_cust.memberid = 0
- IF IsNull(arg_s_cust.score) THEN arg_s_cust.score = 0
- IF IsNull(arg_s_cust.lsflag) THEN arg_s_cust.lsflag = 0
- IF IsNull(arg_s_cust.ljmail) THEN arg_s_cust.ljmail = ''
- IF IsNull(arg_s_cust.pricelistid) THEN arg_s_cust.pricelistid = 0
- IF IsNull(arg_s_cust.rebate) THEN arg_s_cust.rebate = 1
- IF IsNull(arg_s_cust.qqcode) THEN arg_s_cust.qqcode = ''
- IF IsNull(arg_s_cust.frcode) THEN arg_s_cust.frcode = ''
- IF IsNull(arg_s_cust.aifmb_flag) THEN arg_s_cust.aifmb_flag = 0
- IF IsNull(arg_s_cust.selecttype) THEN arg_s_cust.selecttype = -1
- IF IsNull(arg_s_cust.stat_rep) THEN arg_s_cust.stat_rep = ''
- IF IsNull(arg_s_cust.stat_handtel) THEN arg_s_cust.stat_handtel = ''
- IF IsNull(arg_s_cust.stat_address) THEN arg_s_cust.stat_address = ''
- IF IsNull(arg_s_cust.province) THEN arg_s_cust.province = ''
- IF IsNull(arg_s_cust.city) THEN arg_s_cust.city = ''
- IF IsNull(arg_s_cust.area) THEN arg_s_cust.area = ''
- //2014-08-14 还原,取消该字段
- arg_s_cust.selecttype = -1
- //
- IF arg_s_cust.cuscode = '' THEN
- arg_msg = '请输入客户编号!'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_cust.Name = '' THEN
- arg_msg = '请输入客户名称!'
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_cust
- WHERE name = :arg_s_cust.Name
- AND cusid <> :arg_s_cust.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户名称是否重复失败'
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- arg_msg = '客户名称重复,请检查客户资料'
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_Cusarea
- Where cusareaid = :arg_s_cust.cusareaid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户区域资料是否重复失败'
- rslt = 0
- GOTO ext
- END IF
- IF cnt <> 1 THEN
- arg_msg = '客户区域资料重复或不存在,请检查客户区域资料'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_cust.bsntype = '' THEN
- arg_msg = '请选择业务员'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_cust.viewdaynum < 0 THEN
- arg_msg = '不合理的预收款天数'
- rslt = 0
- GOTO ext
- END IF
- if arg_s_cust.transday < 0 then
- arg_msg = '不合理的标准运输时间'
- rslt = 0
- GOTO ext
- END IF
- SELECT cusareaname,areaname
- INTO :ls_cusareaname,:ls_areaname
- FROM u_cusarea
- Where cusareaid = :arg_s_cust.cusareaid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户区域资料是否重复失败'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_cust.inuse = 0 AND arg_s_cust.cusid > 0 THEN
- IF f_check_cust_balcamt(arg_s_cust.cusid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- //只能设一个零售客户
- if arg_s_cust.lsflag = 1 then
- update u_cust
- set lsflag = 0
- where cusid <> :arg_s_cust.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户资料零售标记失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- end if
- IF arg_s_cust.cusid = 0 THEN
- ll_cusid = f_sys_scidentity(0,"u_cust","cusid",arg_msg,TRUE,id_sqlca)
- IF ll_cusid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_cust
- (cusid,
- cuscode,
- name,
- custype,
- rep,
- tele,
- tele1,
- bank,
- cunt,
- address,
- code,
- dscrp,
- faxno,
- inuse,
- cusareaid,
- cusareaname,
- areaname,
- email,
- givebackrate,
- freight,
- freight_tele,
- upname,
- state,
- peoplenum,
- mainmarket,
- saleamt,
- nethttp,
- trade,
- corporation,
- grade,
- ifself,
- opdate,
- opemp,
- cuskind,
- simplename,
- viewdaynum,
- tele_sms,
- styleid,
- banktypeid,
- moneyid,
- transday,
- memberid,
- score,
- lsflag,
- ljmail,
- pricelistid,
- qqcode,
- frcode,
- aifmb_flag,
- rebate,
- selecttype,
- stat_rep,
- stat_handtel,
- stat_address,
- province,
- city,
- area)
- VALUES(:ll_cusid,
- :arg_s_cust.cuscode,
- :arg_s_cust.name,
- :arg_s_cust.bsntype,
- :arg_s_cust.rep,
- :arg_s_cust.tele,
- :arg_s_cust.tele1,
- :arg_s_cust.bank,
- :arg_s_cust.cunt,
- :arg_s_cust.address,
- :arg_s_cust.code,
- :arg_s_cust.dscrp,
- :arg_s_cust.fax,
- :arg_s_cust.inuse,
- :arg_s_cust.cusareaid,
- :ls_cusareaname,
- :ls_areaname,
- :arg_s_cust.email,
- :arg_s_cust.givebackrate,
- :arg_s_cust.freight,
- :arg_s_cust.freight_tele,
- :arg_s_cust.upname,
- :arg_s_cust.state,
- :arg_s_cust.peoplenum,
- :arg_s_cust.mainmarket,
- :arg_s_cust.saleamt,
- :arg_s_cust.nethttp,
- :arg_s_cust.trade,
- :arg_s_cust.corporation,
- :arg_s_cust.grade,
- :arg_s_cust.ifself,
- getdate(),
- :arg_opemp,
- :arg_s_cust.cuskind,
- :arg_s_cust.simplename,
- :arg_s_cust.viewdaynum,
- :arg_s_cust.tele_sms,
- :arg_s_cust.styleid,
- :arg_s_cust.banktypeid,
- :arg_s_cust.moneyid,
- :arg_s_cust.transday,
- :arg_s_cust.memberid,
- :arg_s_cust.score,
- :arg_s_cust.lsflag,
- :arg_s_cust.ljmail,
- :arg_s_cust.pricelistid,
- :arg_s_cust.qqcode,
- :arg_s_cust.frcode,
- :arg_s_cust.aifmb_flag,
- :arg_s_cust.rebate,
- :arg_s_cust.selecttype,
- :arg_s_cust.stat_rep,
- :arg_s_cust.stat_handtel,
- :arg_s_cust.stat_address,
- :arg_s_cust.province,
- :arg_s_cust.city,
- :arg_s_cust.area);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- uo_cusid = ll_cusid
- ELSE
-
- UPDATE u_cust
- SET cuscode = :arg_s_cust.cuscode,
- name = :arg_s_cust.name,
- custype = :arg_s_cust.bsntype,
- rep = :arg_s_cust.rep,
- tele = :arg_s_cust.tele,
- tele1 = :arg_s_cust.tele1,
- bank = :arg_s_cust.bank,
- cunt = :arg_s_cust.cunt,
- address = :arg_s_cust.address,
- code = :arg_s_cust.code,
- dscrp = :arg_s_cust.dscrp,
- faxno = :arg_s_cust.fax,
- inuse = :arg_s_cust.inuse,
- cusareaid = :arg_s_cust.cusareaid,
- cusareaname = :ls_cusareaname,
- areaname = :ls_areaname,
- email = :arg_s_cust.email,
- givebackrate = :arg_s_cust.givebackrate,
- freight = :arg_s_cust.freight,
- freight_tele = :arg_s_cust.freight_tele,
- upname = :arg_s_cust.upname,
- state = :arg_s_cust.state,
- peoplenum = :arg_s_cust.peoplenum,
- mainmarket = :arg_s_cust.mainmarket,
- saleamt = :arg_s_cust.saleamt,
- nethttp = :arg_s_cust.nethttp,
- trade = :arg_s_cust.trade,
- corporation = :arg_s_cust.corporation,
- grade = :arg_s_cust.grade,
- ifself = :arg_s_cust.ifself,
- moddate = getdate(),
- modemp = :arg_opemp,
- cuskind = :arg_s_cust.cuskind,
- simplename = :arg_s_cust.simplename,
- viewdaynum = :arg_s_cust.viewdaynum,
- tele_sms = :arg_s_cust.tele_sms,
- styleid = :arg_s_cust.styleid,
- banktypeid = :arg_s_cust.banktypeid,
- moneyid = :arg_s_cust.moneyid,
- transday = :arg_s_cust.transday,
- memberid = :arg_s_cust.memberid,
- score = :arg_s_cust.score,
- lsflag = :arg_s_cust.lsflag,
- ljmail = :arg_s_cust.ljmail,
- pricelistid = :arg_s_cust.pricelistid,
- qqcode = :arg_s_cust.qqcode,
- frcode = :arg_s_cust.frcode,
- aifmb_flag = :arg_s_cust.aifmb_flag,
- rebate = :arg_s_cust.rebate,
- selecttype = :arg_s_cust.selecttype,
- stat_rep = :arg_s_cust.stat_rep,
- stat_handtel = :arg_s_cust.stat_handtel,
- stat_address = :arg_s_cust.stat_address,
- province = :arg_s_cust.province,
- city = :arg_s_cust.city,
- area = :arg_s_cust.area
- Where cusid = :arg_s_cust.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- uo_cusid = arg_s_cust.cusid
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_del_interview (long arg_interviewid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- String ls_opemp
- SELECT opemp INTO :ls_opemp
- FROM u_cust_interview
- Where interviewid = :arg_interviewid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户走访资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF NOT sys_power_issuper AND arg_opemp <> ls_opemp THEN
- arg_msg = '不是资料建立人或系统管理员,不能删除'
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_cust_interview Where interviewid = :arg_interviewid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户走访资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_del_plan (long arg_planid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- String ls_opemp
- SELECT opemp INTO :ls_opemp
- FROM oa_emp_workplan
- Where planid = :arg_planid
- and kind = 1;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户工作计划失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF NOT sys_power_issuper AND arg_opemp <> ls_opemp THEN
- arg_msg = '不是资料建立人或系统管理员,不能删除'
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM oa_emp_workplan
- Where planid = :arg_planid
- and kind = 1;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户工作计划失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_del_rep (long arg_repid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- String ls_opemp
- SELECT opemp INTO :ls_opemp
- FROM u_cust_rep
- Where repid = :arg_repid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户联系人资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF NOT sys_power_issuper AND arg_opemp <> ls_opemp THEN
- arg_msg = '不是资料建立人或系统管理员,不能删除'
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_cust_rep Where repid = :arg_repid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户联系人失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_add_rep (s_cust_rep arg_s_cust_rep, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_repid
- IF IsNull(arg_s_cust_rep.repname) THEN arg_s_cust_rep.repname = ''
- IF IsNull(arg_s_cust_rep.duty) THEN arg_s_cust_rep.duty = ''
- IF IsNull(arg_s_cust_rep.sex) THEN arg_s_cust_rep.sex = ''
- IF IsNull(arg_s_cust_rep.officetel) THEN arg_s_cust_rep.officetel = ''
- IF IsNull(arg_s_cust_rep.handtel) THEN arg_s_cust_rep.handtel = ''
- IF IsNull(arg_s_cust_rep.faxno) THEN arg_s_cust_rep.faxno = ''
- IF IsNull(arg_s_cust_rep.email) THEN arg_s_cust_rep.email = ''
- IF IsNull(arg_s_cust_rep.dscrp) THEN arg_s_cust_rep.dscrp = ''
- IF IsNull(arg_s_cust_rep.deptname) THEN arg_s_cust_rep.deptname = ''
- IF IsNull(arg_s_cust_rep.interest) THEN arg_s_cust_rep.interest = ''
- IF IsNull(arg_s_cust_rep.mainproduct) THEN arg_s_cust_rep.mainproduct = ''
- IF IsNull(arg_s_cust_rep.qqcode) THEN arg_s_cust_rep.qqcode = ''
- IF IsNull(arg_s_cust_rep.msncode) THEN arg_s_cust_rep.msncode = ''
- IF IsNull(arg_s_cust_rep.address) THEN arg_s_cust_rep.address = ''
- IF IsNull(arg_s_cust_rep.ljmail) THEN arg_s_cust_rep.ljmail = ''
- IF arg_s_cust_rep.repname = '' THEN
- arg_msg = '请输入联系人名称'
- rslt = 0
- GOTO ext
- END IF
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where cusid = :arg_s_cust_rep.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt = 0 THEN
- arg_msg = '客户资料不存在或重复'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_cust_rep.repid = 0 THEN
- ll_repid = f_sys_scidentity(0,"u_cust_rep","repid",arg_msg,TRUE,id_sqlca)
- IF ll_repid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_cust_rep
- (repid,
- cusid,
- repname,
- duty,
- sex,
- officetel,
- handtel,
- faxno,
- email,
- dscrp,
- deptname,
- interest,
- mainproduct,
- qqcode,
- msncode,
- opdate,
- opemp,
- address,
- ljmail)
- VALUES(:ll_repid,
- :arg_s_cust_rep.cusid,
- :arg_s_cust_rep.repname,
- :arg_s_cust_rep.duty,
- :arg_s_cust_rep.sex,
- :arg_s_cust_rep.officetel,
- :arg_s_cust_rep.handtel,
- :arg_s_cust_rep.faxno,
- :arg_s_cust_rep.email,
- :arg_s_cust_rep.dscrp,
- :arg_s_cust_rep.deptname,
- :arg_s_cust_rep.interest,
- :arg_s_cust_rep.qqcode,
- :arg_s_cust_rep.mainproduct,
- :arg_s_cust_rep.msncode,
- getdate(),
- :arg_opemp,
- :arg_s_cust_rep.address,
- :arg_s_cust_rep.ljmail);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立客户联系人失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ELSE
- UPDATE u_cust_rep
- SET repname = :arg_s_cust_rep.repname,
- duty = :arg_s_cust_rep.duty,
- sex = :arg_s_cust_rep.sex,
- officetel = :arg_s_cust_rep.officetel,
- handtel = :arg_s_cust_rep.handtel,
- faxno = :arg_s_cust_rep.faxno,
- email = :arg_s_cust_rep.email,
- dscrp = :arg_s_cust_rep.dscrp,
- deptname = :arg_s_cust_rep.deptname,
- interest = :arg_s_cust_rep.interest,
- mainproduct = :arg_s_cust_rep.mainproduct,
- qqcode = :arg_s_cust_rep.qqcode,
- msncode = :arg_s_cust_rep.msncode,
- moddate = getdate(),
- modemp = :arg_opemp,
- address = :arg_s_cust_rep.address,
- ljmail = :arg_s_cust_rep.ljmail
- Where repid = :arg_s_cust_rep.repid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户联系人失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_del_cust (long arg_cusid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_cust_interview Where cusid = :arg_cusid ;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "数据查询操作失败!(请重试!)"
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- arg_msg = "该资料已经使用于客户走访计划,不可以删除!"
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_cust_plan Where cusid = :arg_cusid ;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "数据查询操作失败!(请重试!)"
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- arg_msg = "该资料已经使用于客户工作计划,不可以删除!"
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_saletask Where cusid = :arg_cusid ;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "数据查询操作失败!(请重试!)"
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- arg_msg = "该资料已经使用于订货单记录,不可以删除!"
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT COUNT(*) INTO :cnt
- FROM u_outware WHERE u_outware.cusid = :arg_cusid
- AND billtype = 1;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "数据查询操作失败!(请重试!)"
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- arg_msg = "该资料已经使用于出仓记录,不可以删除!"
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT COUNT(*) INTO :cnt
- FROM u_cusamt WHERE cusid = :arg_cusid
- AND billtype = 0;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "数据查询操作失败!(请重试!)"
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- arg_msg = "该资料已经使用于客户收款单,不可以删除!"
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT COUNT(*) INTO :cnt
- FROM u_bmsttake Where cusid = :arg_cusid ;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "数据查询操作失败!(请重试!)"
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- arg_msg = "该资料已经使用于应收帐,不可以删除!"
- rslt = 0
- GOTO ext
- END IF
- IF f_check_cust_balcamt(arg_cusid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_cust_rep Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户联系人失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_cust_station Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户货运部失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_item_cust_spt
- WHERE relid = :arg_cusid
- AND reltype = 0;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户辅助项目失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_cust Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_change_state (long arg_cusid, integer arg_state, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1,li_state
- DateTime ldt_null
- SetNull(ldt_null)
- SELECT state INTO :li_state
- FROM u_cust
- Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF arg_state = 1 THEN
- IF li_state = 1 THEN
- arg_msg = '客户资料已成为正式客户资料,不能再操作'
- rslt = 0
- GOTO ext
- END IF
-
- UPDATE u_cust
- SET state = 1,
- auditemp = :publ_operator,
- auditdate = getdate()
- WHERE cusid = :arg_cusid
- And State <> 1;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户资料类型失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ELSEIF arg_state = 0 THEN
- IF li_state = 0 THEN
- arg_msg = '客户资料已成为非正式客户资料,不能再操作'
- rslt = 0
- GOTO ext
- END IF
-
- UPDATE u_cust
- SET state = 0,
- auditemp = '',
- auditdate = :ldt_null
- WHERE cusid = :arg_cusid
- And State <> 0;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户资料类型失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ELSEIF arg_state = 2 THEN
- IF li_state = 2 THEN
- arg_msg = '客户资料成为黑名单客户资料,不能再操作'
- rslt = 0
- GOTO ext
- END IF
-
- UPDATE u_cust
- SET state = 2,
- auditemp = :publ_operator,
- auditdate = getdate()
- WHERE cusid = :arg_cusid
- And State <> 2;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户资料类型失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_del_station (long arg_cusid, long arg_stationid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- long cnt
- SELECT count(*) INTO :cnt
- FROM u_station
- Where stationid = :arg_stationid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询货运部资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_cust_station
- Where cusid = :arg_cusid
- and stationid = :arg_stationid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户货运部资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_add_station (s_cust_station arg_s_cust_station, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt
- IF IsNull(arg_s_cust_station.cusid) THEN arg_s_cust_station.cusid = 0
- IF IsNull(arg_s_cust_station.stationid) THEN arg_s_cust_station.stationid = 0
- IF IsNull(arg_s_cust_station.dftflag) THEN arg_s_cust_station.dftflag = 0
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where cusid = :arg_s_cust_station.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt = 0 THEN
- arg_msg = '客户资料不存在或重复'
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_station
- Where stationid = :arg_s_cust_station.stationid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询货运部资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt = 0 THEN
- arg_msg = '货运部资料不存在或重复'
- rslt = 0
- GOTO ext
- END IF
- INSERT INTO u_cust_station
- (stationid,
- cusid,
- dftflag)
- VALUES(:arg_s_cust_station.stationid,
- :arg_s_cust_station.cusid,
- :arg_s_cust_station.dftflag);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立客户货运部失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_set_dft_station (s_cust_station arg_s_cust_station, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt
- String ls_dft_name,ls_dft_tel
- IF IsNull(arg_s_cust_station.cusid) THEN arg_s_cust_station.cusid = 0
- IF IsNull(arg_s_cust_station.stationid) THEN arg_s_cust_station.stationid = 0
- IF IsNull(arg_s_cust_station.dftflag) THEN arg_s_cust_station.dftflag = 0
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where cusid = :arg_s_cust_station.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- SELECT stationname,tele
- INTO :ls_dft_name,:ls_dft_tel
- FROM u_station
- Where stationid = :arg_s_cust_station.stationid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询货运部资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- UPDATE u_cust_station
- SET dftflag = 1
- WHERE stationid = :arg_s_cust_station.stationid
- AND cusid = :arg_s_cust_station.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '设置客户默认货运部失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- UPDATE u_cust_station
- SET dftflag = 0
- WHERE stationid <> :arg_s_cust_station.stationid
- AND cusid = :arg_s_cust_station.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '取消设置客户其它默认货运部失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- UPDATE u_cust
- SET freight = :ls_dft_name,
- freight_tele = :ls_dft_tel
- Where cusid = :arg_s_cust_station.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户默认货运部失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_add_item (s_item_cust_spt arg_s_item, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_repid
- IF IsNull(arg_s_item.itemid) THEN arg_s_item.itemid = 0
- IF IsNull(arg_s_item.relid) THEN arg_s_item.relid = 0
- IF IsNull(arg_s_item.reltype) THEN arg_s_item.reltype = 0
- IF IsNull(arg_s_item.dscrp) THEN arg_s_item.dscrp = ''
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_item_cust_spt_def
- Where itemid = :arg_s_item.itemid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询辅助项目资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- IF arg_s_item.reltype = 0 THEN
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where cusid = :arg_s_item.relid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ELSE
- arg_msg = '错误的项目类型'
- rslt = 0
- GOTO ext
- END IF
- UPDATE u_item_cust_spt
- SET dscrp = :arg_s_item.dscrp
- WHERE itemid = :arg_s_item.itemid
- AND relid = :arg_s_item.relid
- AND reltype = :arg_s_item.reltype;
- IF sqlca.SQLCode = 0 THEN
- IF sqlca.SQLNRows = 0 THEN
- INSERT INTO u_item_cust_spt
- (itemid,
- relid,
- reltype,
- dscrp)
- VALUES(:arg_s_item.itemid,
- :arg_s_item.relid,
- :arg_s_item.reltype,
- :arg_s_item.dscrp);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立辅助项目资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- END IF
- ELSE
- arg_msg = '更新辅助项目资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_add_sample (s_cust_sample arg_s_cust_sample, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_sampleid
- IF IsNull(arg_s_cust_sample.saler) THEN arg_s_cust_sample.saler = ''
- IF IsNull(arg_s_cust_sample.mtrlid) THEN arg_s_cust_sample.mtrlid = 0
- IF IsNull(arg_s_cust_sample.samplecontent) THEN arg_s_cust_sample.samplecontent = ''
- IF IsNull(arg_s_cust_sample.cusid) THEN arg_s_cust_sample.cusid = 0
- IF IsNull(arg_s_cust_sample.sampleid) THEN arg_s_cust_sample.sampleid = 0
- IF IsNull(arg_s_cust_sample.qty) THEN arg_s_cust_sample.qty = 0
- IF arg_s_cust_sample.saler = '' THEN
- arg_msg = '请输入业务员'
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where cusid = :arg_s_cust_sample.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt = 0 THEN
- arg_msg = '客户资料不存在或重复'
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_mtrldef
- Where mtrlid = :arg_s_cust_sample.mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询物料资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt = 0 THEN
- arg_msg = '物料资料不存在或重复'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_cust_sample.sampleid = 0 THEN
- ll_sampleid = f_sys_scidentity(0,"u_cust_sample","sampleid",arg_msg,TRUE,id_sqlca)
- IF ll_sampleid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_cust_sample
- (sampleid,
- cusid,
- saler,
- sampledate,
- mtrlid,
- samplecontent,
- qty,
- opdate,
- opemp,
- kind)
- VALUES(:ll_sampleid,
- :arg_s_cust_sample.cusid,
- :arg_s_cust_sample.saler,
- :arg_s_cust_sample.sampledate,
- :arg_s_cust_sample.mtrlid,
- :arg_s_cust_sample.samplecontent,
- :arg_s_cust_sample.qty,
- getdate(),
- :arg_opemp,
- 0);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立客户样版失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ELSE
- UPDATE u_cust_sample
- SET saler = :arg_s_cust_sample.saler,
- sampledate = :arg_s_cust_sample.sampledate,
- mtrlid = :arg_s_cust_sample.mtrlid,
- samplecontent = :arg_s_cust_sample.samplecontent,
- qty = :arg_s_cust_sample.qty,
- moddate = getdate(),
- modemp = :arg_opemp
- Where sampleid = :arg_s_cust_sample.sampleid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户样版失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_del_sample (long arg_sampleid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- String ls_opemp
- SELECT opemp INTO :ls_opemp
- FROM u_cust_sample
- Where sampleid = :arg_sampleid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户样版失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF NOT sys_power_issuper AND arg_opemp <> ls_opemp THEN
- arg_msg = '不是资料建立人或系统管理员,不能删除'
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_cust_sample Where sampleid = :arg_sampleid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户样版失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_code_find (long arg_id, string arg_code, ref string arg_msg);Int rslt = 1
- long cnt
- SELECT count(*) INTO :cnt
- FROM u_cust
- WHERE cusid <> :arg_id
- AND cuscode = :arg_code;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户编号:'+arg_code+',是否已用失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt > 0 THEN
- arg_msg = '查询客户编号:'+arg_code+',已用,请重新输入'
- rslt = 0
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- public function integer uof_del_giveback_rule (long arg_ruleid, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- String ls_opemp
- SELECT opemp INTO :ls_opemp
- FROM u_giveback_rule
- Where rulid = :arg_ruleid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户返利规则失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF NOT sys_power_issuper AND arg_opemp <> ls_opemp THEN
- arg_msg = '不是资料建立人或系统管理员,不能删除'
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_giveback_rule Where rulid = :arg_ruleid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除客户返利规则失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_add_giveback_rule (s_cust_giveback_rule arg_s_rule, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_rulid
- IF IsNull(arg_s_rule.timetype) THEN arg_s_rule.timetype = 0
- IF IsNull(arg_s_rule.MtrlExp) THEN arg_s_rule.MtrlExp = ''
- IF IsNull(arg_s_rule.PriceExp) THEN arg_s_rule.PriceExp = ''
- IF IsNull(arg_s_rule.dscrp) THEN arg_s_rule.dscrp = ''
- IF IsNull(arg_s_rule.cusid) THEN arg_s_rule.cusid = 0
- IF IsNull(arg_s_rule.rulid) THEN arg_s_rule.rulid = 0
- IF arg_s_rule.MtrlExp = '' THEN
- arg_msg = '请输入物料条件'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_rule.PriceExp = '' THEN
- arg_msg = '请输入价格条件'
- rslt = 0
- GOTO ext
- END IF
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where cusid = :arg_s_rule.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt = 0 THEN
- arg_msg = '客户资料不存在或重复'
- rslt = 0
- GOTO ext
- END IF
- DATETIME server_dt
- SELECT Top 1 getdate() INTO :server_dt FROM u_user USING sqlca ;
- //取得系统时间,借用操作员表
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,日期 "
- GOTO ext
- END IF
- IF arg_s_rule.rulid = 0 THEN
- ll_rulid = f_sys_scidentity(0,"u_giveback_rule","rulid",arg_msg,TRUE,id_sqlca)
- IF ll_rulid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- arg_s_rule.rulcode = getid(0,'RL',Date(server_dt),TRUE,sqlca)
-
-
- INSERT INTO u_giveback_rule
- (rulid,
- rulcode,
- cusid,
- timetype,
- begindate,
- Enddate,
- MtrlExp,
- PriceExp,
- gbRateExp,
- MtrlStr,
- PriceStr,
- gbRateStr,
- IsUse,
- dscrp,
- opdate,
- opemp)
- VALUES(:ll_rulid,
- :arg_s_rule.rulcode,
- :arg_s_rule.cusid,
- :arg_s_rule.timetype,
- :arg_s_rule.begindate,
- :arg_s_rule.Enddate,
- :arg_s_rule.MtrlExp,
- :arg_s_rule.PriceExp,
- :arg_s_rule.gbRateExp,
- :arg_s_rule.MtrlStr,
- :arg_s_rule.PriceStr,
- :arg_s_rule.gbRateStr,
- :arg_s_rule.IsUse,
- :arg_s_rule.dscrp,
- :server_dt,
- :arg_opemp);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立客户返利规则失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ELSE
- UPDATE u_giveback_rule
- SET timetype = :arg_s_rule.timetype,
- begindate = :arg_s_rule.begindate,
- EndDate = :arg_s_rule.EndDate,
- MtrlExp = :arg_s_rule.MtrlExp,
- PriceExp = :arg_s_rule.PriceExp,
- gbRateExp = :arg_s_rule.gbRateExp,
- MtrlStr = :arg_s_rule.MtrlStr,
- PriceStr = :arg_s_rule.PriceStr,
- gbRateStr = :arg_s_rule.gbRateStr,
- IsUse = :arg_s_rule.IsUse,
- dscrp = :arg_s_rule.dscrp,
- moddate = :server_dt,
- modemp = :arg_opemp
- Where rulid = :arg_s_rule.rulid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户返利规则失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_cust_score (long arg_cusid, decimal arg_score, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Decimal ld_score
- IF arg_score < 0 THEN
- SELECT score - exchangescore INTO :ld_score
- FROM u_cust
- Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- IF Pos(Lower(sqlca.SQLErrText),'more than') > 0 THEN
- arg_msg = '查询客户积分失败,查询数据返回值多于一个'
- ELSE
- arg_msg = '查询客户积分失败,'+sqlca.SQLErrText
- END IF
- rslt = 0
- GOTO ext
- END IF
-
- IF arg_score + ld_score < 0 THEN
- arg_msg = '客户积分只有:'+String(ld_score,'#,##0.##')+',不能兑换:'+String(Abs(arg_score),'#,##0.##')
- rslt = 0
- GOTO ext
- END IF
-
- UPDATE u_cust
- SET exchangescore = exchangescore + :arg_score
- Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户积分失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- ELSE
- UPDATE u_cust
- SET score = score + :arg_score
- Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户积分失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- IF sys_autoupdate_member = 1 THEN
- ////会员自动升级
- IF uof_update_member(arg_cusid,arg_msg,arg_ifcommit) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
-
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- arg_msg = '客户资料,'+ arg_msg
- RETURN rslt
- end function
- public function integer uof_update_member (long arg_cusid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long ll_memberid
- Dec ld_cusscore
- SELECT memberid ,
- score
- INTO :ll_memberid,
- :ld_cusscore
- FROM u_cust
- Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- IF Pos(Lower(sqlca.SQLErrText),'more than') > 0 THEN
- arg_msg = '查询客户会员类型失败,查询数据返回值多于一个'
- ELSE
- arg_msg = '查询客户会员类型失败,'+sqlca.SQLErrText
- END IF
- rslt = 0
- GOTO ext
- END IF
- if ll_memberid = 0 then goto ext
- Decimal ld_score[]
- Long ld_memberid[]
- long ld_Pricelistid[]
- Long i = 1,NO_MXCHECK
- DECLARE CUR_member CURSOR FOR
- SELECT u_cust_member.updatescore,
- u_cust_member.memberid,
- u_cust_member.Pricelistid
- FROM u_cust_member
- Order By updatescore Desc;
-
- OPEN CUR_member;
- FETCH CUR_member INTO :ld_score[i],:ld_memberid[i],:ld_Pricelistid[i];
- DO WHILE sqlca.SQLCode = 0
- i++
- FETCH CUR_member INTO :ld_score[i],:ld_memberid[i],:ld_Pricelistid[i];
- LOOP
- CLOSE CUR_member;
- //检验明细是否读入完整
- SELECT COUNT(*) INTO :NO_MXCHECK
- FROM u_cust_member ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,会员类型数量"
- GOTO ext
- END IF
- IF i <> (NO_MXCHECK+1) THEN
- rslt = 0
- arg_msg = "查询操作失败,会员类型数量"
- GOTO ext
- END IF
- FOR i = 1 TO NO_MXCHECK
- IF ld_score[i] > 0 AND ld_cusscore >= ld_score[i] THEN
- UPDATE u_cust
- SET memberid = :ld_memberid[i],
- Pricelistid = :ld_Pricelistid[i]
- Where u_cust.cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "更新客户会员类型操作失败"
- GOTO ext
- END IF
- EXIT
- END IF
- NEXT
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT;
- END IF
- arg_msg = '客户资料,'+ arg_msg
- RETURN rslt
- end function
- public function integer uof_audit (long arg_cusid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- Select flag
- Into :li_flag
- From u_cust
- Where cusid = :arg_cusid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询客户审核状态失败,'+sqlca.SQLErrText
- Goto ext
- End If
- If li_flag <> 0 Then
- rslt = 0
- arg_msg = '客户不是在待审核状态,不能审核'
- Goto ext
- End If
- Update u_cust
- Set flag = 1 ,
- auditemp = :arg_emp,
- auditdate = getdate()
- Where cusid = :arg_cusid
- And flag = 0 ;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
- rslt = 0
- arg_msg = '客户正在审核,请刷新 '+sqlca.SQLErrText
- Goto ext
- End If
- Else
- rslt = 0
- arg_msg = '客户审核失败 '+sqlca.SQLErrText
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_secaudit (long arg_cusid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- Select flag
- Into :li_flag
- From u_cust
- Where cusid = :arg_cusid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询客户审核状态失败,'+sqlca.SQLErrText
- Goto ext
- End If
- If li_flag <> 1 Then
- rslt = 0
- arg_msg = '客户不是在待终核状态,不能终审'
- Goto ext
- End If
- Update u_cust
- Set flag = 2 ,
- secauditemp = :arg_emp,
- secauditdate = getdate(),
- state = 1,
- pricelistflag = 1,
- pricelistemp = :arg_emp,
- pricelistdate = getdate()
- Where cusid = :arg_cusid
- And flag = 1 ;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
- rslt = 0
- arg_msg = '客户正在审核,请刷新 '+sqlca.SQLErrText
- Goto ext
- End If
- Else
- rslt = 0
- arg_msg = '客户终审失败 '+sqlca.SQLErrText
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_c_secaudit (long arg_cusid, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- datetime ld_nulldt
- setnull(ld_nulldt)
- Select flag
- Into :li_flag
- From u_cust
- Where cusid = :arg_cusid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询客户审核状态失败,'+sqlca.SQLErrText
- Goto ext
- End If
- If li_flag <> 2 Then
- rslt = 0
- arg_msg = '客户不是在终审状态,不能撤终审'
- Goto ext
- End If
- Update u_cust
- Set flag = 1 ,
- secauditemp = '',
- secauditdate = :ld_nulldt,
- state = 0,
- pricelistflag = 0,
- pricelistemp = '',
- pricelistdate = :ld_nulldt
- Where cusid = :arg_cusid
- And flag = 2 ;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
- rslt = 0
- arg_msg = '客户正在撤审,请刷新 '+sqlca.SQLErrText
- Goto ext
- End If
- Else
- rslt = 0
- arg_msg = '客户撤终审失败 '+sqlca.SQLErrText
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_c_audit (long arg_cusid, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- DateTime ld_nulldt
- SetNull(ld_nulldt)
- Select flag
- Into :li_flag
- From u_cust
- Where cusid = :arg_cusid;
- If sqlca.SQLCode <> 0 Then
- rslt = 0
- arg_msg = '查询客户审核状态失败,'+sqlca.SQLErrText
- Goto ext
- End If
- If li_flag <> 1 Then
- rslt = 0
- arg_msg = '客户不是待终审状态,不能撤初审'
- Goto ext
- End If
- Update u_cust
- Set flag = 0 ,
- auditemp = '',
- auditdate = :ld_nulldt
- Where cusid = :arg_cusid
- And flag = 1 ;
- If sqlca.SQLCode = 0 Then
- If sqlca.SQLNRows = 0 Then
- rslt = 0
- arg_msg = '客户正在撤审,请刷新 '+sqlca.SQLErrText
- Goto ext
- End If
- Else
- rslt = 0
- arg_msg = '客户撤初审失败 '+sqlca.SQLErrText
- Goto ext
- End If
- ext:
- If rslt = 0 Then
- Rollback;
- ElseIf rslt = 1 And arg_ifcommit Then
- Commit;
- End If
- Return rslt
- end function
- public function integer uof_update_pricelist (long arg_cusid, string arg_opemp, long arg_pricelistid, string arg_grade, decimal arg_rebate, long arg_exchangeid, string arg_pricedscrp, ref string arg_msg, boolean arg_ifcommit);Int rslt
- String ls_cuscode
- rslt = 1
- IF arg_cusid <= 0 THEN
- rslt = 0
- arg_msg = '更新客户价格表失败,无效的客户ID:'+String(arg_cusid)
- GOTO ext
- END IF
- SELECT cuscode
- INTO :ls_cuscode
- FROM u_cust
- Where cusid = :arg_cusid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询客户资料失败,ID:'+String(arg_cusid)
- GOTO ext
- END IF
- UPDATE u_cust
- SET pricelistid = :arg_pricelistid,
- grade = :arg_grade,
- rebate = :arg_rebate,
- pmodemp = :arg_opemp,
- pmoddate = getdate(),
- exchangeid = :arg_exchangeid,
- pricedscrp = :arg_pricedscrp
- Where cusid = :arg_cusid;
- IF sqlca.SQLCode = 0 THEN
- IF sqlca.SQLNRows = 0 THEN
- rslt = 0
- arg_msg = '没有找到可更新的客户资料,ID:'+String(arg_cusid)+',编号:'+ls_cuscode
- GOTO ext
- END IF
- ELSE
- rslt = 0
- arg_msg = '更新操作失败,客户ID:'+String(arg_cusid)+',编号:'+ls_cuscode
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer uof_add_interview (ref s_cust_interview arg_s_cust_interview, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_interviewid
- IF IsNull(arg_s_cust_interview.saler) THEN arg_s_cust_interview.saler = ''
- IF IsNull(arg_s_cust_interview.interviewrep) THEN arg_s_cust_interview.interviewrep = ''
- IF IsNull(arg_s_cust_interview.tele) THEN arg_s_cust_interview.tele = ''
- IF IsNull(arg_s_cust_interview.interviewcontent) THEN arg_s_cust_interview.interviewcontent = ''
- IF IsNull(arg_s_cust_interview.dscrp) THEN arg_s_cust_interview.dscrp = ''
- IF IsNull(arg_s_cust_interview.cusid) THEN arg_s_cust_interview.cusid = 0
- IF IsNull(arg_s_cust_interview.interviewid) THEN arg_s_cust_interview.interviewid = 0
- IF IsNull(arg_s_cust_interview.amt) THEN arg_s_cust_interview.amt = 0
- IF IsNull(arg_s_cust_interview.interviewway) THEN arg_s_cust_interview.interviewway = ''
- IF IsNull(arg_s_cust_interview.interviewrslt) THEN arg_s_cust_interview.interviewrslt = ''
- IF IsNull(arg_s_cust_interview.interviewform) THEN arg_s_cust_interview.interviewform = ''
- IF IsNull(arg_s_cust_interview.custassess) THEN arg_s_cust_interview.custassess = ''
- IF IsNull(arg_s_cust_interview.custview) THEN arg_s_cust_interview.custview = ''
- IF IsNull(arg_s_cust_interview.interviewaddress) THEN arg_s_cust_interview.interviewaddress = ''
- IF IsNull(arg_s_cust_interview.inputway) THEN arg_s_cust_interview.inputway = ''
- IF arg_s_cust_interview.saler = '' THEN
- arg_msg = '请输入业务员'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_cust_interview.interviewcontent = '' THEN
- arg_msg = '请输入走访内容'
- rslt = 0
- GOTO ext
- END IF
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where cusid = :arg_s_cust_interview.cusid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF cnt = 0 THEN
- arg_msg = '客户资料不存在或重复'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_cust_interview.interviewid = 0 THEN
- ll_interviewid = f_sys_scidentity(0,"u_cust_interview","interviewid",arg_msg,True,id_sqlca)
- IF ll_interviewid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_cust_interview
- (interviewid,
- cusid,
- saler,
- interviewdate,
- interviewrep,
- tele,
- interviewtime,
- interviewcontent,
- dscrp,
- amt,
- opdate,
- opemp,
- interviewway,
- interviewrslt,
- interviewform,
- custassess,
- custview,
- interviewaddress,
- inputway)
- VALUES(:ll_interviewid,
- :arg_s_cust_interview.cusid,
- :arg_s_cust_interview.saler,
- :arg_s_cust_interview.interviewdate,
- :arg_s_cust_interview.interviewrep,
- :arg_s_cust_interview.tele,
- :arg_s_cust_interview.interviewtime,
- :arg_s_cust_interview.interviewcontent,
- :arg_s_cust_interview.dscrp,
- :arg_s_cust_interview.amt,
- getdate(),
- :arg_opemp,
- :arg_s_cust_interview.interviewway,
- :arg_s_cust_interview.interviewrslt,
- :arg_s_cust_interview.interviewform,
- :arg_s_cust_interview.custassess,
- :arg_s_cust_interview.custview,
- :arg_s_cust_interview.interviewaddress,
- :arg_s_cust_interview.inputway);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立客户走访失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- arg_s_cust_interview.interviewid = ll_interviewid
- ELSE
-
- UPDATE u_cust_interview
- SET saler = :arg_s_cust_interview.saler,
- interviewdate = :arg_s_cust_interview.interviewdate,
- interviewrep = :arg_s_cust_interview.interviewrep,
- tele = :arg_s_cust_interview.tele,
- interviewtime = :arg_s_cust_interview.interviewtime,
- interviewcontent = :arg_s_cust_interview.interviewcontent,
- dscrp = :arg_s_cust_interview.dscrp,
- amt = :arg_s_cust_interview.amt,
- moddate = getdate(),
- modemp = :arg_opemp,
- interviewway = :arg_s_cust_interview.interviewway,
- interviewrslt = :arg_s_cust_interview.interviewrslt,
- interviewform = :arg_s_cust_interview.interviewform,
- custassess = :arg_s_cust_interview.custassess,
- custview = :arg_s_cust_interview.custview
- WHERE interviewid = :arg_s_cust_interview.interviewid
- And GETDATE() <= DATEADD(dd, :sys_option_interview_edit_day, opdate);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新客户走访失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- IF sqlca.SQLNRows = 0 THEN
- rslt = 0
- arg_msg = '走访记录已超过修改时限,不能修改'
- GOTO ext
- END IF
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
- on uo_cust.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_cust.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
|