$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