w_aifmb_addcuscomm_request.srw 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391
  1. $PBExportHeader$w_aifmb_addcuscomm_request.srw
  2. forward
  3. global type w_aifmb_addcuscomm_request from window
  4. end type
  5. type cb_4 from commandbutton within w_aifmb_addcuscomm_request
  6. end type
  7. type cb_3 from commandbutton within w_aifmb_addcuscomm_request
  8. end type
  9. type cb_2 from commandbutton within w_aifmb_addcuscomm_request
  10. end type
  11. type cb_1 from commandbutton within w_aifmb_addcuscomm_request
  12. end type
  13. type dw_1 from u_dw_rbtnfilter within w_aifmb_addcuscomm_request
  14. end type
  15. end forward
  16. global type w_aifmb_addcuscomm_request from window
  17. integer width = 3214
  18. integer height = 2028
  19. windowtype windowtype = child!
  20. long backcolor = 67108864
  21. string icon = "AppIcon!"
  22. boolean center = true
  23. cb_4 cb_4
  24. cb_3 cb_3
  25. cb_2 cb_2
  26. cb_1 cb_1
  27. dw_1 dw_1
  28. end type
  29. global w_aifmb_addcuscomm_request w_aifmb_addcuscomm_request
  30. on w_aifmb_addcuscomm_request.create
  31. this.cb_4=create cb_4
  32. this.cb_3=create cb_3
  33. this.cb_2=create cb_2
  34. this.cb_1=create cb_1
  35. this.dw_1=create dw_1
  36. this.Control[]={this.cb_4,&
  37. this.cb_3,&
  38. this.cb_2,&
  39. this.cb_1,&
  40. this.dw_1}
  41. end on
  42. on w_aifmb_addcuscomm_request.destroy
  43. destroy(this.cb_4)
  44. destroy(this.cb_3)
  45. destroy(this.cb_2)
  46. destroy(this.cb_1)
  47. destroy(this.dw_1)
  48. end on
  49. event resize;
  50. dw_1.Width = This.WorkSpaceWidth() - dw_1.X
  51. dw_1.Height = This.WorkSpaceHeight() - dw_1.Y
  52. end event
  53. type cb_4 from commandbutton within w_aifmb_addcuscomm_request
  54. integer x = 73
  55. integer y = 16
  56. integer width = 261
  57. integer height = 100
  58. integer taborder = 40
  59. integer textsize = -9
  60. integer weight = 400
  61. fontcharset fontcharset = gb2312charset!
  62. fontpitch fontpitch = variable!
  63. string facename = "宋体"
  64. string text = "刷新"
  65. end type
  66. event clicked;Int rslt = 1
  67. String arg_msg = ''
  68. uo_aifmbproxy ll_proxyfactory
  69. ll_proxyfactory = Create uo_aifmbproxy
  70. Long ll_userid
  71. SELECT top 1 userid
  72. INTO :ll_userid
  73. FROM LJFIEB_ComInfo
  74. Using sys_email_sqlca;
  75. IF sys_email_sqlca.SQLCode <> 0 THEN
  76. rslt = 0
  77. arg_msg = '查询企业注册信息失败,' + sys_email_sqlca.SQLErrText
  78. GOTO ext
  79. END IF
  80. IF ll_userid <= 0 THEN
  81. rslt = 0
  82. arg_msg = '企业未注册'
  83. GOTO ext
  84. END IF
  85. oleobject lo_proxy
  86. IF ll_proxyfactory.getproxy(lo_proxy, arg_msg) <> 1 THEN
  87. rslt = 0
  88. GOTO ext
  89. END IF
  90. oleobject request
  91. request = lo_proxy.NewGetAddCusCommRequest()
  92. request.UserID = ll_userid
  93. oleobject response
  94. response = lo_proxy.GetAddCusComm(request)
  95. IF Not IsNull(response.ErrMsg) THEN
  96. rslt = 0
  97. arg_msg = response.ErrMsg
  98. GOTO ext
  99. END IF
  100. Long ll_cnt
  101. ll_cnt = response.Requests.Count
  102. Long i, ll_row
  103. oleobject lo_request, lo_ent
  104. dw_1.Reset()
  105. FOR i = 0 To ll_cnt - 1
  106. lo_request = response.Requests.GetItem(i)
  107. ll_row = dw_1.InsertRow(0)
  108. dw_1.Object.custype[ll_row] = lo_request.custype
  109. dw_1.Object.addtime[ll_row] = lo_request.addtime
  110. lo_ent = lo_request.Ent
  111. dw_1.Object.UserID[ll_row] = lo_ent.UserID
  112. dw_1.Object.CusID[ll_row] = lo_ent.CusID
  113. dw_1.Object.usercode[ll_row] = lo_ent.usercode
  114. dw_1.Object.username[ll_row] = lo_ent.username
  115. dw_1.Object.tele[ll_row] = lo_ent.tele
  116. dw_1.Object.phone[ll_row] = lo_ent.phone
  117. dw_1.Object.Address[ll_row] = lo_ent.Address
  118. dw_1.Object.email[ll_row] = lo_ent.email
  119. dw_1.Object.dscrp[ll_row] = lo_ent.dscrp
  120. dw_1.Object.comcode[ll_row] = lo_ent.comcode
  121. NEXT
  122. ext:
  123. Destroy ll_proxyfactory
  124. IF rslt = 0 THEN
  125. MessageBox('ERROR', arg_msg)
  126. END IF
  127. end event
  128. type cb_3 from commandbutton within w_aifmb_addcuscomm_request
  129. integer x = 951
  130. integer y = 16
  131. integer width = 261
  132. integer height = 100
  133. integer taborder = 30
  134. integer textsize = -9
  135. integer weight = 400
  136. fontcharset fontcharset = gb2312charset!
  137. fontpitch fontpitch = variable!
  138. string facename = "宋体"
  139. string text = "退出"
  140. end type
  141. event clicked;close(parent)
  142. end event
  143. type cb_2 from commandbutton within w_aifmb_addcuscomm_request
  144. integer x = 658
  145. integer y = 16
  146. integer width = 261
  147. integer height = 100
  148. integer taborder = 20
  149. integer textsize = -9
  150. integer weight = 400
  151. fontcharset fontcharset = gb2312charset!
  152. fontpitch fontpitch = variable!
  153. string facename = "宋体"
  154. string text = "拒绝"
  155. end type
  156. type cb_1 from commandbutton within w_aifmb_addcuscomm_request
  157. integer x = 366
  158. integer y = 16
  159. integer width = 261
  160. integer height = 100
  161. integer taborder = 10
  162. integer textsize = -9
  163. integer weight = 400
  164. fontcharset fontcharset = gb2312charset!
  165. fontpitch fontpitch = variable!
  166. string facename = "宋体"
  167. string text = "接受"
  168. end type
  169. event clicked;Int rslt = 1
  170. String arg_msg
  171. Long ll_row
  172. ll_row = dw_1.GetRow()
  173. IF ll_row <= 0 THEN
  174. MessageBox('提示', '请选择接受对象')
  175. RETURN
  176. END IF
  177. s_aifmb_addcuscomm s_parm
  178. s_parm.cusid = dw_1.Object.cusid[ll_row]
  179. s_parm.cuscode = dw_1.Object.usercode[ll_row]
  180. s_parm.cusname = dw_1.Object.username[ll_row]
  181. s_parm.lb_readonly = False
  182. IF dw_1.Object.custype[ll_row] = 1 THEN // 供应商
  183. s_parm.custype = 2
  184. ELSEIF dw_1.Object.custype[ll_row] = 2 THEN // 客户
  185. s_parm.custype = 1
  186. ELSEIF dw_1.Object.custype[ll_row] = 3 THEN
  187. s_parm.custype = 3
  188. END IF
  189. IF s_parm.cusid = '' THEN
  190. MessageBox('提示', '对方唯一码为空不能添加')
  191. RETURN
  192. END IF
  193. IF s_parm.cusid = '00000000-0000-0000-0000-000000000000' THEN
  194. MessageBox('提示', '对方唯一码为零不能添加')
  195. RETURN
  196. END IF
  197. //查询是否已经绑定客户
  198. Long ll_cnt
  199. SELECT COUNT(0)
  200. INTO :ll_cnt
  201. FROM LJFIEB_CusComm
  202. WHERE CusID = :s_parm.cusid
  203. Using sys_email_sqlca;
  204. IF sys_email_sqlca.SQLCode <> 0 THEN
  205. MessageBox('提示', '查询企业是否有本地信息失败,' + sys_email_sqlca.SQLErrText)
  206. RETURN
  207. END IF
  208. String ls_cuscode
  209. String ls_cusname
  210. IF ll_cnt > 0 THEN
  211. SELECT top 1 cuscode, cusname
  212. INTO :ls_cuscode, :ls_cusname
  213. FROM LJFIEB_CusComm
  214. WHERE CusID = :s_parm.cusid
  215. Using sys_email_sqlca;
  216. IF sys_email_sqlca.SQLCode <> 0 THEN
  217. MessageBox('提示', '查询本地企业信息失败,' + sys_email_sqlca.SQLErrText)
  218. RETURN
  219. END IF
  220. s_parm.cuscode = ls_cuscode
  221. s_parm.cusname = ls_cusname
  222. s_parm.lb_readonly = True
  223. IF s_parm.custype = 2 Or s_parm.custype = 3 THEN
  224. SELECT COUNT(0)
  225. INTO :ll_cnt
  226. FROM u_cust
  227. Where commcode = :ls_cuscode;
  228. IF sqlca.SQLCode <> 0 THEN
  229. MessageBox('提示', '查询已绑定客户个数失败,' + sys_email_sqlca.SQLErrText)
  230. RETURN
  231. END IF
  232. IF ll_cnt > 0 THEN
  233. IF MessageBox('提问', '本企业已经绑定了' + String(ll_cnt) + '个客户,是否继续?', Question!, YesNo!, 1) <> 1 THEN
  234. RETURN
  235. END IF
  236. END IF
  237. END IF
  238. IF s_parm.custype = 1 Or s_parm.custype = 3 THEN
  239. SELECT COUNT(0)
  240. INTO :ll_cnt
  241. FROM u_spt
  242. Where commcode = :ls_cuscode;
  243. IF sqlca.SQLCode <> 0 THEN
  244. MessageBox('提示', '查询已绑定供应商个数失败,' + sys_email_sqlca.SQLErrText)
  245. RETURN
  246. END IF
  247. IF ll_cnt > 0 THEN
  248. IF MessageBox('提问', '本企业已经绑定了' + String(ll_cnt) + '个供应商,是否继续?', Question!, YesNo!, 1) <> 1 THEN
  249. RETURN
  250. END IF
  251. END IF
  252. END IF
  253. END IF
  254. IF s_parm.custype = 2 Or s_parm.custype = 3 THEN
  255. s_custom s_cust
  256. s_cust.cuscode = dw_1.Object.usercode[ll_row]
  257. s_cust.Name = dw_1.Object.username[ll_row]
  258. s_cust.tele = dw_1.Object.tele[ll_row]
  259. s_cust.tele1 = dw_1.Object.phone[ll_row]
  260. s_cust.Address = dw_1.Object.Address[ll_row]
  261. s_cust.email = dw_1.Object.email[ll_row]
  262. s_cust.dscrp = dw_1.Object.dscrp[ll_row]
  263. s_edit_index_tran s_tran
  264. s_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  265. s_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  266. s_tran.arg_pkid = 0 //目标定位PKID (备用)
  267. s_tran.e_long = 1
  268. s_tran.a_any = s_cust
  269. OpenWithParm(w_cust_edit, s_tran)
  270. s_custom S_INSCUST
  271. S_INSCUST = Message.PowerObjectParm //接受返回结构
  272. IF S_INSCUST.cusid <= 0 THEN RETURN
  273. s_parm.ll_cusid = S_INSCUST.cusid
  274. s_parm.ls_cuscode = S_INSCUST.cuscode
  275. s_parm.ls_cusname = S_INSCUST.Name
  276. END IF
  277. IF s_parm.custype = 1 Or s_parm.custype = 3 THEN
  278. s_spt s_spt_tran
  279. s_spt_tran.sptcode = dw_1.Object.usercode[ll_row]
  280. s_spt_tran.Name = dw_1.Object.username[ll_row]
  281. s_spt_tran.tele = dw_1.Object.tele[ll_row]
  282. s_spt_tran.tele1 = dw_1.Object.phone[ll_row]
  283. s_spt_tran.Address = dw_1.Object.Address[ll_row]
  284. s_spt_tran.email = dw_1.Object.email[ll_row]
  285. s_spt_tran.dscrp = dw_1.Object.dscrp[ll_row]
  286. s_edit_index_tran s_tran_spt
  287. s_tran_spt.if_retrieve_all = False //是否一次RETRIEVE所有行
  288. s_tran_spt.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  289. s_tran_spt.arg_pkid = 0 //目标定位PKID (备用)
  290. s_tran_spt.e_long = 1
  291. s_tran_spt.a_any = s_spt_tran
  292. OpenWithParm(w_spt_edit, s_tran_spt)
  293. s_spt S_INSSPT
  294. S_INSSPT = Message.PowerObjectParm //接受返回结构
  295. IF S_INSSPT.sptid <= 0 THEN RETURN
  296. s_parm.ll_sptid = S_INSSPT.sptid
  297. s_parm.ls_sptcode = S_INSSPT.sptcode
  298. s_parm.ls_sptname = S_INSSPT.Name
  299. END IF
  300. OpenWithParm(w_aifmb_addcuscomm_accept,s_parm)
  301. end event
  302. type dw_1 from u_dw_rbtnfilter within w_aifmb_addcuscomm_request
  303. integer y = 140
  304. integer width = 2638
  305. integer height = 1732
  306. string dataobject = "dw_aifmb_addcuscomm_request"
  307. boolean hscrollbar = true
  308. boolean vscrollbar = true
  309. boolean hsplitscroll = true
  310. boolean rbutton_filter_use = true
  311. boolean rbutton_setposition_use = true
  312. boolean titleclick_sort_use = true
  313. end type
  314. event clicked;call super::clicked;if row > 0 then
  315. this.setrow(row)
  316. end if
  317. end event
  318. event rowfocuschanged;call super::rowfocuschanged;this.selectrow(0, false)
  319. if currentrow > 0 then
  320. this.selectrow(currentrow,true)
  321. end if
  322. end event