123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101 |
- $PBExportHeader$uo_spt.sru
- forward
- global type uo_spt from nonvisualobject
- end type
- end forward
- global type uo_spt from nonvisualobject
- end type
- global uo_spt uo_spt
- type variables
- Long uo_sptid
- end variables
- forward prototypes
- public function integer uof_add_item (s_item_cust_spt arg_s_item, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_del_spt (long arg_sptid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_rep (s_spt_rep arg_s_spt_rep, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_spt (s_spt arg_s_spt, 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_rep (long arg_repid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_add_sample (s_cust_sample arg_s_spt_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_change_state (long arg_sptid, integer arg_state, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_audit (long arg_sptid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_secaudit (long arg_sptid, string arg_emp, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_c_secaudit (long arg_sptid, ref string arg_msg, boolean arg_ifcommit)
- public function integer uof_c_audit (long arg_sptid, ref string arg_msg, boolean arg_ifcommit)
- end prototypes
- 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
- arg_msg = '错误的项目类型'
- rslt = 0
- GOTO ext
- ELSE
- SELECT count(*) INTO :cnt
- FROM u_spt
- Where sptid = :arg_s_item.relid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询供应商资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- 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_del_spt (long arg_sptid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_spt
- Where sptid = :arg_sptid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询供应商资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_buytask Where sptid = :arg_sptid ;
- 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_inware Where u_inware.sptid = :arg_sptid
- 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_order_wfjg Where sptid = :arg_sptid ;
- 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 ow_wfjg_in Where sptid = :arg_sptid ;
- 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 ow_wfjg_out Where sptid = :arg_sptid ;
- 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_bmstpay Where sptid = :arg_sptid ;
- 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_spt_balcamt(arg_sptid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_item_cust_spt
- Where relid = :arg_sptid
- and reltype = 1;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除供应商辅助项目资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_spt_rep Where sptid = :arg_sptid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '删除供应商联系资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- DELETE FROM u_spt Where sptid = :arg_sptid;
- 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_spt_rep arg_s_spt_rep, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_repid
- IF IsNull(arg_s_spt_rep.repname) THEN arg_s_spt_rep.repname = ''
- IF IsNull(arg_s_spt_rep.duty) THEN arg_s_spt_rep.duty = ''
- IF IsNull(arg_s_spt_rep.sex) THEN arg_s_spt_rep.sex = ''
- IF IsNull(arg_s_spt_rep.officetel) THEN arg_s_spt_rep.officetel = ''
- IF IsNull(arg_s_spt_rep.handtel) THEN arg_s_spt_rep.handtel = ''
- IF IsNull(arg_s_spt_rep.faxno) THEN arg_s_spt_rep.faxno = ''
- IF IsNull(arg_s_spt_rep.email) THEN arg_s_spt_rep.email = ''
- IF IsNull(arg_s_spt_rep.qqcode) THEN arg_s_spt_rep.qqcode = ''
- IF IsNull(arg_s_spt_rep.msncode) THEN arg_s_spt_rep.msncode = ''
- IF IsNull(arg_s_spt_rep.dscrp) THEN arg_s_spt_rep.dscrp = ''
- IF IsNull(arg_s_spt_rep.ljmail) THEN arg_s_spt_rep.ljmail = ''
- IF arg_s_spt_rep.repname = '' THEN
- arg_msg = '请输入联系人名称'
- rslt = 0
- GOTO ext
- END IF
- SELECT count(*) INTO :cnt
- FROM u_spt
- Where sptid = :arg_s_spt_rep.sptid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询供应商资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_spt_rep.repid = 0 THEN
- ll_repid = f_sys_scidentity(0,"u_spt_rep","repid",arg_msg,TRUE,id_sqlca)
- IF ll_repid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_spt_rep
- (repid,
- sptid,
- repname,
- duty,
- sex,
- officetel,
- handtel,
- faxno,
- email,
- qqcode,
- msncode,
- dscrp,
- ljmail)
- VALUES(:ll_repid,
- :arg_s_spt_rep.sptid,
- :arg_s_spt_rep.repname,
- :arg_s_spt_rep.duty,
- :arg_s_spt_rep.sex,
- :arg_s_spt_rep.officetel,
- :arg_s_spt_rep.handtel,
- :arg_s_spt_rep.faxno,
- :arg_s_spt_rep.email,
- :arg_s_spt_rep.qqcode,
- :arg_s_spt_rep.msncode,
- :arg_s_spt_rep.dscrp,
- :arg_s_spt_rep.ljmail);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立联系人失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ELSE
- UPDATE u_spt_rep
- SET repname = :arg_s_spt_rep.repname,
- duty = :arg_s_spt_rep.duty,
- sex = :arg_s_spt_rep.sex,
- officetel = :arg_s_spt_rep.officetel,
- handtel = :arg_s_spt_rep.handtel,
- faxno = :arg_s_spt_rep.faxno,
- email = :arg_s_spt_rep.email,
- qqcode = :arg_s_spt_rep.qqcode,
- msncode = :arg_s_spt_rep.msncode,
- dscrp = :arg_s_spt_rep.dscrp,
- ljmail = :arg_s_spt_rep.ljmail
- Where repid = :arg_s_spt_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_add_spt (s_spt arg_s_spt, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_sptid,ll_i,ll_repid
- String ls_cusareaname,ls_areaname
- IF IsNull(arg_s_spt.sptid) THEN arg_s_spt.sptid = 0
- IF IsNull(arg_s_spt.sptcode) THEN arg_s_spt.sptcode = ''
- IF IsNull(arg_s_spt.Name) THEN arg_s_spt.Name = ''
- IF IsNull(arg_s_spt.spttype) THEN arg_s_spt.spttype = ''
- IF IsNull(arg_s_spt.rep) THEN arg_s_spt.rep = ''
- IF IsNull(arg_s_spt.tele) THEN arg_s_spt.tele = ''
- IF IsNull(arg_s_spt.tele1) THEN arg_s_spt.tele1 = ''
- IF IsNull(arg_s_spt.bank) THEN arg_s_spt.bank = ''
- IF IsNull(arg_s_spt.cunt) THEN arg_s_spt.cunt = ''
- IF IsNull(arg_s_spt.Address) THEN arg_s_spt.Address = ''
- IF IsNull(arg_s_spt.code) THEN arg_s_spt.code = ''
- IF IsNull(arg_s_spt.dscrp) THEN arg_s_spt.dscrp = ''
- IF IsNull(arg_s_spt.inuse) THEN arg_s_spt.inuse = 0
- IF IsNull(arg_s_spt.faxno) THEN arg_s_spt.faxno = ''
- IF IsNull(arg_s_spt.email) THEN arg_s_spt.email = ''
- IF IsNull(arg_s_spt.sptkind) THEN arg_s_spt.sptkind = 0
- IF IsNull(arg_s_spt.picktype) THEN arg_s_spt.picktype = ''
- IF IsNull(arg_s_spt.banktypeid) THEN arg_s_spt.banktypeid = 0
- IF IsNull(arg_s_spt.pickdays) THEN arg_s_spt.pickdays = ''
- IF IsNull(arg_s_spt.styleid) THEN arg_s_spt.styleid = 0
- IF IsNull(arg_s_spt.spttypeid) THEN arg_s_spt.spttypeid = 0
- IF IsNull(arg_s_spt.buyemp) THEN arg_s_spt.buyemp = ''
- IF IsNull(arg_s_spt.State) THEN arg_s_spt.State = 1
- IF IsNull(arg_s_spt.grade) THEN arg_s_spt.grade = ''
- IF IsNull(arg_s_spt.moneyid) THEN arg_s_spt.moneyid = 0
- IF IsNull(arg_s_spt.transday) THEN arg_s_spt.transday = 0
- IF IsNull(arg_s_spt.ljmail) THEN arg_s_spt.ljmail = ''
- IF IsNull(arg_s_spt.ifbalc) THEN arg_s_spt.ifbalc = 0
- IF IsNull(arg_s_spt.aifmb_flag) THEN arg_s_spt.aifmb_flag = 0
- IF arg_s_spt.sptcode = '' THEN
- arg_msg = '请输入供应商编号!'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_spt.Name = '' THEN
- arg_msg = '请输入供应商名称!'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_spt.spttypeid <= 0 THEN
- arg_msg = '请选择供应商类别!'
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_spt
- WHERE name = :arg_s_spt.Name
- And sptid <> :arg_s_spt.sptid;
- 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 cw_currency
- Where moneyid = :arg_s_spt.moneyid;
- 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 arg_s_spt.transday < 0 THEN
- arg_msg = '不合理的标准运输时间'
- rslt = 0
- GOTO ext
- END IF
- IF arg_s_spt.inuse = 0 And arg_s_spt.sptid > 0 THEN
- IF f_check_spt_balcamt(arg_s_spt.sptid,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- END IF
- IF arg_s_spt.sptid = 0 THEN
- ll_sptid = f_sys_scidentity(0,"u_spt","sptid",arg_msg,True,id_sqlca)
- IF ll_sptid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_spt
- (sptid,
- sptcode,
- name,
- spttype,
- rep,
- tele,
- tele1,
- bank,
- cunt,
- address,
- code,
- dscrp,
- faxno,
- inuse,
- email,
- sptkind,
- picktype,
- banktypeid,
- pickdays,
- styleid,
- opdate,
- opemp,
- spttypeid,
- buyemp,
- state,
- grade,
- moneyid,
- transday,
- ljmail,
- ifbalc,
- aifmb_flag)
- VALUES(:ll_sptid,
- :arg_s_spt.sptcode,
- :arg_s_spt.name,
- :arg_s_spt.spttype,
- :arg_s_spt.rep,
- :arg_s_spt.tele,
- :arg_s_spt.tele1,
- :arg_s_spt.bank,
- :arg_s_spt.cunt,
- :arg_s_spt.address,
- :arg_s_spt.code,
- :arg_s_spt.dscrp,
- :arg_s_spt.faxno,
- :arg_s_spt.inuse,
- :arg_s_spt.email,
- :arg_s_spt.sptkind,
- :arg_s_spt.picktype,
- :arg_s_spt.banktypeid,
- :arg_s_spt.pickdays,
- :arg_s_spt.styleid,
- getdate(),
- :arg_opemp,
- :arg_s_spt.spttypeid,
- :arg_s_spt.buyemp,
- :arg_s_spt.state,
- :arg_s_spt.grade,
- :arg_s_spt.moneyid,
- :arg_s_spt.transday,
- :arg_s_spt.ljmail,
- :arg_s_spt.ifbalc,
- :arg_s_spt.aifmb_flag);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立供应商资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- uo_sptid = ll_sptid
- ELSE
- UPDATE u_spt
- SET sptcode = :arg_s_spt.sptcode,
- name = :arg_s_spt.name,
- spttype = :arg_s_spt.spttype,
- rep = :arg_s_spt.rep,
- tele = :arg_s_spt.tele,
- tele1 = :arg_s_spt.tele1,
- bank = :arg_s_spt.bank,
- cunt = :arg_s_spt.cunt,
- address = :arg_s_spt.address,
- code = :arg_s_spt.code,
- dscrp = :arg_s_spt.dscrp,
- faxno = :arg_s_spt.faxno,
- inuse = :arg_s_spt.inuse,
- email = :arg_s_spt.email,
- sptkind = :arg_s_spt.sptkind,
- picktype = :arg_s_spt.picktype,
- banktypeid = :arg_s_spt.banktypeid,
- pickdays = :arg_s_spt.pickdays,
- styleid = :arg_s_spt.styleid,
- moddate = getdate(),
- modemp = :arg_opemp,
- spttypeid = :arg_s_spt.spttypeid,
- buyemp = :arg_s_spt.buyemp,
- state = :arg_s_spt.state,
- grade = :arg_s_spt.grade,
- moneyid = :arg_s_spt.moneyid,
- transday = :arg_s_spt.transday,
- ljmail = :arg_s_spt.ljmail,
- ifbalc = :arg_s_spt.ifbalc,
- aifmb_flag = :arg_s_spt.aifmb_flag
- Where sptid = :arg_s_spt.sptid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新供应商资料失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- uo_sptid = arg_s_spt.sptid
-
- 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_spt
- WHERE sptid <> :arg_id
- AND sptcode = :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_rep (long arg_repid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- DELETE FROM u_spt_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_sample (s_cust_sample arg_s_spt_sample, string arg_opemp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt,ll_sampleid
- IF IsNull(arg_s_spt_sample.saler) THEN arg_s_spt_sample.saler = ''
- IF IsNull(arg_s_spt_sample.mtrlid) THEN arg_s_spt_sample.mtrlid = 0
- IF IsNull(arg_s_spt_sample.samplecontent) THEN arg_s_spt_sample.samplecontent = ''
- IF IsNull(arg_s_spt_sample.cusid) THEN arg_s_spt_sample.cusid = 0
- IF IsNull(arg_s_spt_sample.sampleid) THEN arg_s_spt_sample.sampleid = 0
- IF IsNull(arg_s_spt_sample.qty) THEN arg_s_spt_sample.qty = 0
- IF arg_s_spt_sample.saler = '' THEN
- arg_msg = '请输入经手人'
- rslt = 0
- GOTO ext
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_spt
- Where sptid = :arg_s_spt_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_spt_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_spt_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_spt_sample.cusid,
- :arg_s_spt_sample.saler,
- :arg_s_spt_sample.sampledate,
- :arg_s_spt_sample.mtrlid,
- :arg_s_spt_sample.samplecontent,
- :arg_s_spt_sample.qty,
- getdate(),
- :arg_opemp,
- 1);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '建立供应商样版失败,'+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- ELSE
- UPDATE u_cust_sample
- SET saler = :arg_s_spt_sample.saler,
- sampledate = :arg_s_spt_sample.sampledate,
- mtrlid = :arg_s_spt_sample.mtrlid,
- samplecontent = :arg_s_spt_sample.samplecontent,
- qty = :arg_s_spt_sample.qty,
- moddate = getdate(),
- modemp = :arg_opemp
- Where sampleid = :arg_s_spt_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_change_state (long arg_sptid, integer arg_state, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1,li_state
- SELECT state INTO :li_state
- FROM u_spt
- Where sptid = :arg_sptid;
- 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_spt SET state = 1
- WHERE sptid = :arg_sptid
- 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_spt SET state = 0
- WHERE sptid = :arg_sptid
- 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_spt SET state = 2
- WHERE sptid = :arg_sptid
- 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_audit (long arg_sptid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- Select flag
- Into :li_flag
- From u_spt
- Where sptid = :arg_sptid;
- 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_spt
- Set flag = 1 ,
- auditemp = :arg_emp,
- auditdate = getdate()
- Where sptid = :arg_sptid
- 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_sptid, string arg_emp, ref string arg_msg, boolean arg_ifcommit);Int li_flag
- Int rslt = 1
- Select flag
- Into :li_flag
- From u_spt
- Where sptid = :arg_sptid;
- 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_spt
- Set flag = 2 ,
- secauditemp = :arg_emp,
- secauditdate = getdate(),
- state = 1
- Where sptid = :arg_sptid
- 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_sptid, 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_spt
- Where sptid = :arg_sptid;
- 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_spt
- Set flag = 1 ,
- secauditemp = '',
- secauditdate = :ld_nulldt,
- state = 0
- Where sptid = :arg_sptid
- 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_sptid, 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_spt
- Where sptid = :arg_sptid;
- 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_spt
- Set flag = 0 ,
- auditemp = '',
- auditdate = :ld_nulldt
- Where sptid = :arg_sptid
- 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
- on uo_spt.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_spt.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
|