uo_ljfieb_cus.sru 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. $PBExportHeader$uo_ljfieb_cus.sru
  2. forward
  3. global type uo_ljfieb_cus from nonvisualobject
  4. end type
  5. end forward
  6. global type uo_ljfieb_cus from nonvisualobject
  7. end type
  8. global uo_ljfieb_cus uo_ljfieb_cus
  9. type variables
  10. long uo_repid
  11. end variables
  12. forward prototypes
  13. public function integer uof_add_cust_rep (s_cus_rep_ljfieb arg_s_cus_rep, ref string arg_msg, boolean arg_ifcommit)
  14. public function integer uof_del_cust_rep (long arg_repid, ref string arg_msg, boolean arg_ifcommit)
  15. public function integer uof_reset_pwd (long arg_repid, ref string arg_msg, boolean arg_ifcommit)
  16. public function integer uof_del_cust_rep_cm (long arg_repid, string arg_ljemail, ref string arg_msg, boolean arg_ifcommit)
  17. public function integer uof_add_cust_rep_cm (s_cus_rep_cm_ljfieb arg_s_mx, ref string arg_msg, boolean arg_ifcommit)
  18. end prototypes
  19. public function integer uof_add_cust_rep (s_cus_rep_ljfieb arg_s_cus_rep, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  20. Long cnt,ll_repid
  21. string ls_ljemail , ls_commcode
  22. IF IsNull(arg_s_cus_rep.loginname) THEN arg_s_cus_rep.loginname = ''
  23. IF IsNull(arg_s_cus_rep.repname) THEN arg_s_cus_rep.repname = ''
  24. IF IsNull(arg_s_cus_rep.duty) THEN arg_s_cus_rep.duty = ''
  25. IF IsNull(arg_s_cus_rep.sex) THEN arg_s_cus_rep.sex = ''
  26. IF IsNull(arg_s_cus_rep.officetel) THEN arg_s_cus_rep.officetel = ''
  27. IF IsNull(arg_s_cus_rep.handtel) THEN arg_s_cus_rep.handtel = ''
  28. IF IsNull(arg_s_cus_rep.faxno) THEN arg_s_cus_rep.faxno = ''
  29. IF IsNull(arg_s_cus_rep.email) THEN arg_s_cus_rep.email = ''
  30. IF IsNull(arg_s_cus_rep.dscrp) THEN arg_s_cus_rep.dscrp = ''
  31. IF IsNull(arg_s_cus_rep.deptname) THEN arg_s_cus_rep.deptname = ''
  32. IF IsNull(arg_s_cus_rep.interest) THEN arg_s_cus_rep.interest = ''
  33. IF IsNull(arg_s_cus_rep.mainproduct) THEN arg_s_cus_rep.mainproduct = ''
  34. IF IsNull(arg_s_cus_rep.qqcode) THEN arg_s_cus_rep.qqcode = ''
  35. IF IsNull(arg_s_cus_rep.msncode) THEN arg_s_cus_rep.msncode = ''
  36. IF IsNull(arg_s_cus_rep.Address) THEN arg_s_cus_rep.Address = ''
  37. IF IsNull(arg_s_cus_rep.Permissions ) THEN arg_s_cus_rep.Permissions = ''
  38. IF IsNull(arg_s_cus_rep.reptype ) THEN arg_s_cus_rep.reptype = 1
  39. IF IsNull(arg_s_cus_rep.ljemail ) THEN arg_s_cus_rep.ljemail = ''
  40. IF arg_s_cus_rep.repname = '' THEN
  41. arg_msg = '请输入用户名称'
  42. rslt = 0
  43. GOTO ext
  44. END IF
  45. IF arg_s_cus_rep.loginname = '' THEN
  46. arg_msg = '请输入登陆账号'
  47. rslt = 0
  48. GOTO ext
  49. END IF
  50. IF arg_s_cus_rep.reptype = 1 THEN
  51. SELECT commcode INTO :ls_commcode
  52. FROM u_spt
  53. Where sptid = :arg_s_cus_rep.cusid;
  54. IF sqlca.SQLCode <> 0 THEN
  55. arg_msg = '查询供应商资料失败,'+sqlca.SQLErrText
  56. rslt = 0
  57. GOTO ext
  58. END IF
  59. // IF cnt = 0 THEN
  60. // arg_msg = '供应商资料不存在'
  61. // rslt = 0
  62. // GOTO ext
  63. // END IF
  64. ELSEIF arg_s_cus_rep.reptype = 2 THEN
  65. SELECT commcode INTO :ls_commcode
  66. FROM u_cust
  67. Where cusid = :arg_s_cus_rep.cusid;
  68. IF sqlca.SQLCode <> 0 THEN
  69. arg_msg = '查询客户资料失败,'+sqlca.SQLErrText
  70. rslt = 0
  71. GOTO ext
  72. END IF
  73. // IF cnt = 0 THEN
  74. // arg_msg = '客户资料不存在'
  75. // rslt = 0
  76. // GOTO ext
  77. // END IF
  78. END IF
  79. //系统内定
  80. arg_s_cus_rep.ljemail = trim(arg_s_cus_rep.loginname) +'@@'+ trim(ls_commcode)
  81. IF arg_s_cus_rep.repid = 0 THEN
  82. ll_repid = f_sys_scidentity(0,"ros_cust_rep","repid",arg_msg,True,id_sqlca)
  83. IF ll_repid <= 0 THEN
  84. rslt = 0
  85. GOTO ext
  86. END IF
  87. INSERT INTO ros_cust_rep
  88. (repid,
  89. cusid,
  90. loginname,
  91. repname,
  92. duty,
  93. sex,
  94. officetel,
  95. handtel,
  96. faxno,
  97. email,
  98. dscrp,
  99. deptname,
  100. interest,
  101. mainproduct,
  102. qqcode,
  103. msncode,
  104. opdate,
  105. opemp,
  106. address,
  107. reptype,
  108. Permissions,
  109. ljemail)
  110. VALUES(:ll_repid,
  111. :arg_s_cus_rep.cusid,
  112. :arg_s_cus_rep.loginname,
  113. :arg_s_cus_rep.repname,
  114. :arg_s_cus_rep.duty,
  115. :arg_s_cus_rep.sex,
  116. :arg_s_cus_rep.officetel,
  117. :arg_s_cus_rep.handtel,
  118. :arg_s_cus_rep.faxno,
  119. :arg_s_cus_rep.email,
  120. :arg_s_cus_rep.dscrp,
  121. :arg_s_cus_rep.deptname,
  122. :arg_s_cus_rep.interest,
  123. :arg_s_cus_rep.qqcode,
  124. :arg_s_cus_rep.mainproduct,
  125. :arg_s_cus_rep.msncode,
  126. getdate(),
  127. :publ_operator,
  128. :arg_s_cus_rep.Address,
  129. :arg_s_cus_rep.reptype,
  130. :arg_s_cus_rep.Permissions,
  131. :arg_s_cus_rep.ljemail);
  132. IF sqlca.SQLCode <> 0 THEN
  133. IF Pos(sqlca.SQLErrText, "IX_ros_cust_rep") > 0 THEN
  134. arg_msg = '建立电子商务用户失败,登陆账号已存在,不能重复使用'
  135. ELSE
  136. arg_msg = '建立电子商务用户失败,'+sqlca.SQLErrText
  137. END IF
  138. rslt = 0
  139. GOTO ext
  140. END IF
  141. //设置密码
  142. IF uof_reset_pwd(ll_repid, arg_msg, False) = 0 THEN
  143. rslt = 0
  144. GOTO ext
  145. END IF
  146. uo_repid = ll_repid
  147. ELSE
  148. UPDATE ros_cust_rep
  149. SET loginname = :arg_s_cus_rep.loginname,
  150. repname = :arg_s_cus_rep.repname,
  151. duty = :arg_s_cus_rep.duty,
  152. sex = :arg_s_cus_rep.sex,
  153. officetel = :arg_s_cus_rep.officetel,
  154. handtel = :arg_s_cus_rep.handtel,
  155. faxno = :arg_s_cus_rep.faxno,
  156. email = :arg_s_cus_rep.email,
  157. dscrp = :arg_s_cus_rep.dscrp,
  158. deptname = :arg_s_cus_rep.deptname,
  159. interest = :arg_s_cus_rep.interest,
  160. mainproduct = :arg_s_cus_rep.mainproduct,
  161. qqcode = :arg_s_cus_rep.qqcode,
  162. msncode = :arg_s_cus_rep.msncode,
  163. moddate = getdate(),
  164. modemp = :publ_operator,
  165. address = :arg_s_cus_rep.address,
  166. Permissions = :arg_s_cus_rep.Permissions,
  167. ljemail = :arg_s_cus_rep.ljemail
  168. Where repid = :arg_s_cus_rep.repid;
  169. IF sqlca.SQLCode <> 0 THEN
  170. IF Pos(sqlca.SQLErrText, "IX_ros_cust_rep") > 0 THEN
  171. arg_msg = '建立电子商务用户失败,登陆账号已存在,不能重复使用'
  172. ELSE
  173. arg_msg = '更新电子商务用户失败,'+sqlca.SQLErrText
  174. END IF
  175. rslt = 0
  176. GOTO ext
  177. END IF
  178. uo_repid = arg_s_cus_rep.repid
  179. END IF
  180. ext:
  181. IF rslt = 0 THEN
  182. ROLLBACK;
  183. ELSEIF rslt = 1 And arg_ifcommit THEN
  184. COMMIT;
  185. END IF
  186. RETURN rslt
  187. end function
  188. public function integer uof_del_cust_rep (long arg_repid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  189. IF arg_repid <= 0 THEN
  190. rslt = 0
  191. arg_msg = "错误的电子商务用户唯一码."
  192. GOTO ext
  193. END IF
  194. DELETE FROM ros_cust_rep
  195. Where repid = :arg_repid;
  196. IF sqlca.SQLCode <> 0 THEN
  197. rslt = 0
  198. arg_msg = "删除电子商务用户失败, "+sqlca.SQLErrText
  199. GOTO ext
  200. END IF
  201. ext:
  202. IF rslt = 0 THEN
  203. ROLLBACK;
  204. ELSEIF arg_ifcommit THEN
  205. COMMIT;
  206. END IF
  207. RETURN rslt
  208. end function
  209. public function integer uof_reset_pwd (long arg_repid, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  210. String ls_loginname, ls_pwd
  211. SELECT loginname
  212. INTO :ls_loginname
  213. FROM ros_cust_rep
  214. Where repid = :arg_repid;
  215. IF sqlca.SQLCode <> 0 THEN
  216. rslt = 0
  217. arg_msg = "查询电子商务用户信息失败,"+sqlca.SQLErrText
  218. GOTO ext
  219. END IF
  220. ls_pwd = f_psw_bczh(Lower(ls_loginname),0,'987654321380084')
  221. UPDATE ros_cust_rep
  222. SET password = :ls_pwd
  223. Where repid = :arg_repid;
  224. IF sqlca.SQLCode <> 0 THEN
  225. arg_msg = "恢复密码失败,"+sqlca.SQLErrText
  226. rslt = 0
  227. GOTO ext
  228. END IF
  229. ext:
  230. IF rslt = 0 THEN
  231. ROLLBACK;
  232. ELSEIF arg_ifcommit THEN
  233. COMMIT;
  234. END IF
  235. RETURN rslt
  236. end function
  237. public function integer uof_del_cust_rep_cm (long arg_repid, string arg_ljemail, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  238. IF arg_repid <= 0 THEN
  239. rslt = 0
  240. arg_msg = "错误的电子商务用户唯一码."
  241. GOTO ext
  242. END IF
  243. IF arg_ljemail = '' THEN
  244. rslt = 0
  245. arg_msg = "错误的内部邮件账号."
  246. GOTO ext
  247. END IF
  248. DELETE FROM ros_cust_rep_CM
  249. Where repid = :arg_repid
  250. and ljemail = :arg_ljemail;
  251. IF sqlca.SQLCode <> 0 THEN
  252. rslt = 0
  253. arg_msg = "删除电子商务用户联系人失败, "+sqlca.SQLErrText
  254. GOTO ext
  255. END IF
  256. ext:
  257. IF rslt = 0 THEN
  258. ROLLBACK;
  259. ELSEIF arg_ifcommit THEN
  260. COMMIT;
  261. END IF
  262. RETURN rslt
  263. end function
  264. public function integer uof_add_cust_rep_cm (s_cus_rep_cm_ljfieb arg_s_mx, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
  265. Long cnt,ll_repid
  266. IF IsNull(arg_s_mx.repid) THEN arg_s_mx.repid = 0
  267. IF IsNull(arg_s_mx.username) THEN arg_s_mx.username = ''
  268. IF IsNull(arg_s_mx.ljemail) THEN arg_s_mx.ljemail = ''
  269. IF IsNull(arg_s_mx.cmtype) THEN arg_s_mx.cmtype = 0
  270. IF IsNull(arg_s_mx.dscrp) THEN arg_s_mx.dscrp = ''
  271. IF arg_s_mx.repid = 0 THEN
  272. arg_msg = '请选择电子商务用户'
  273. rslt = 0
  274. GOTO ext
  275. END IF
  276. IF arg_s_mx.username = '' THEN
  277. arg_msg = '请输入用户名称'
  278. rslt = 0
  279. GOTO ext
  280. END IF
  281. IF arg_s_mx.ljemail = '' THEN
  282. arg_msg = '请输入联系账号'
  283. rslt = 0
  284. GOTO ext
  285. END IF
  286. IF arg_s_mx.cmtype = 0 THEN
  287. SELECT count(*) INTO :cnt
  288. FROM u_user
  289. Where ljemail = :arg_s_mx.ljemail;
  290. IF sqlca.SQLCode <> 0 THEN
  291. arg_msg = '查询ERP用户资料失败,'+sqlca.SQLErrText
  292. rslt = 0
  293. GOTO ext
  294. END IF
  295. IF cnt = 0 THEN
  296. arg_msg = 'ERP用户资料内部邮件账号不存在'
  297. rslt = 0
  298. GOTO ext
  299. END IF
  300. ELSE
  301. SELECT count(*) INTO :cnt
  302. FROM ros_cust_rep
  303. Where ljemail = :arg_s_mx.ljemail;
  304. IF sqlca.SQLCode <> 0 THEN
  305. arg_msg = '查询电子商务用户资料失败,'+sqlca.SQLErrText
  306. rslt = 0
  307. GOTO ext
  308. END IF
  309. IF cnt = 0 THEN
  310. arg_msg = '电子商务用户资料内部邮件账号不存在'
  311. rslt = 0
  312. GOTO ext
  313. END IF
  314. END IF
  315. UPDATE ros_cust_rep_CM
  316. SET username = :arg_s_mx.username,
  317. cmtype = :arg_s_mx.cmtype,
  318. dscrp = :arg_s_mx.dscrp
  319. WHERE repid = :arg_s_mx.repid
  320. And ljemail = :arg_s_mx.ljemail;
  321. IF sqlca.SQLCode = 0 THEN
  322. IF sqlca.SQLNRows = 0 THEN
  323. INSERT INTO ros_cust_rep_CM
  324. (repid,
  325. ljemail,
  326. username,
  327. cmtype,
  328. dscrp)
  329. VALUES(:arg_s_mx.repid,
  330. :arg_s_mx.ljemail,
  331. :arg_s_mx.username,
  332. :arg_s_mx.cmtype,
  333. :arg_s_mx.dscrp);
  334. IF sqlca.SQLCode <> 0 THEN
  335. IF Pos(sqlca.SQLErrText, "PK_ros_cust_rep_CM") > 0 THEN
  336. arg_msg = '建立电子商务用户联系人失败,联系账号已存在,不能重复建立'
  337. ELSE
  338. arg_msg = '建立电子商务用户联系人失败,'+sqlca.SQLErrText
  339. END IF
  340. rslt = 0
  341. GOTO ext
  342. END IF
  343. END IF
  344. ELSE
  345. IF Pos(sqlca.SQLErrText, "PK_ros_cust_rep_CM") > 0 THEN
  346. arg_msg = '更新电子商务用户联系人失败,联系账号已存在,不能重复建立'
  347. ELSE
  348. arg_msg = '更新电子商务用户联系人失败,'+sqlca.SQLErrText
  349. END IF
  350. rslt = 0
  351. GOTO ext
  352. END IF
  353. ext:
  354. IF rslt = 0 THEN
  355. ROLLBACK;
  356. ELSEIF rslt = 1 And arg_ifcommit THEN
  357. COMMIT;
  358. END IF
  359. RETURN rslt
  360. end function
  361. on uo_ljfieb_cus.create
  362. call super::create
  363. TriggerEvent( this, "constructor" )
  364. end on
  365. on uo_ljfieb_cus.destroy
  366. TriggerEvent( this, "destructor" )
  367. call super::destroy
  368. end on