w_aifmb_addbuyinfo.srw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  1. $PBExportHeader$w_aifmb_addbuyinfo.srw
  2. forward
  3. global type w_aifmb_addbuyinfo from window
  4. end type
  5. type cb_addfj from commandbutton within w_aifmb_addbuyinfo
  6. end type
  7. type cb_picdel from commandbutton within w_aifmb_addbuyinfo
  8. end type
  9. type cb_picaddfile from commandbutton within w_aifmb_addbuyinfo
  10. end type
  11. type lv_1 from uo_piclistview within w_aifmb_addbuyinfo
  12. end type
  13. type cb_cancel from commandbutton within w_aifmb_addbuyinfo
  14. end type
  15. type cb_ok from commandbutton within w_aifmb_addbuyinfo
  16. end type
  17. type dw_1 from datawindow within w_aifmb_addbuyinfo
  18. end type
  19. end forward
  20. global type w_aifmb_addbuyinfo from window
  21. integer width = 3607
  22. integer height = 1784
  23. boolean titlebar = true
  24. string title = "添加求购"
  25. boolean controlmenu = true
  26. windowtype windowtype = response!
  27. long backcolor = 67108864
  28. string icon = "AppIcon!"
  29. boolean center = true
  30. event ue_node_ch ( )
  31. event ue_mtrl_ch ( )
  32. event ue_product_ch ( )
  33. cb_addfj cb_addfj
  34. cb_picdel cb_picdel
  35. cb_picaddfile cb_picaddfile
  36. lv_1 lv_1
  37. cb_cancel cb_cancel
  38. cb_ok cb_ok
  39. dw_1 dw_1
  40. end type
  41. global w_aifmb_addbuyinfo w_aifmb_addbuyinfo
  42. type variables
  43. s_aifmb_buyinfo s_tran
  44. end variables
  45. event ue_node_ch();Long ll_nodeid
  46. String ls_nodename
  47. Open(w_aifmb_class_map_ch)
  48. ll_nodeid = Message.DoubleParm
  49. IF ll_nodeid > 0 THEN
  50. SELECT NodeName
  51. INTO :ls_nodename
  52. FROM aifmb_ClassNode
  53. Where NodeID = :ll_nodeid;
  54. IF sqlca.SQLCode <> 0 THEN
  55. MessageBox('ERROR', '查询基类名称失败,' + sqlca.SQLErrText)
  56. RETURN
  57. END IF
  58. dw_1.Object.NodeID[1] = ll_nodeid
  59. dw_1.Object.NodeName[1] = ls_nodename
  60. END IF
  61. end event
  62. event ue_mtrl_ch();
  63. s_edit_index_tran s_tranf8 //传递参数使用
  64. s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
  65. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  66. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  67. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  68. s_tranf8.if_select_all = False //多选
  69. s_tranf8.b_long = -1 //选采购
  70. s_tranf8.c_long = -1
  71. s_tranf8.f_long = -1
  72. s_tranf8.g_long = -1
  73. //s_tranf8.arg_string_code = dw_1.Object.realmtrlcode[ll_row]
  74. OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
  75. s_mtrldef_array S_INSCUST
  76. IF ClassName(Message.PowerObjectParm) <> 's_mtrldef_array' THEN RETURN
  77. S_INSCUST = Message.PowerObjectParm //接受返回结构
  78. IF UpperBound(S_INSCUST.mtrlid) <= 0 THEN RETURN
  79. IF S_INSCUST.mtrlid[1] <= 0 THEN RETURN
  80. //dw_1.Object.mtrlid[1] = S_INSCUST.mtrlid[1]
  81. dw_1.Object.ProductID[1] = 0
  82. dw_1.Object.procode[1] = S_INSCUST.mtrlcode[1]
  83. dw_1.Object.proname[1] = S_INSCUST.mtrlname[1]
  84. dw_1.Object.promode[1] = S_INSCUST.mtrlmode[1]
  85. dw_1.Object.productname[1] = S_INSCUST.mtrlname[1]
  86. dw_1.Object.standardcode[1] = S_INSCUST.mtrlcode[1]
  87. dw_1.Object.prounit[1] = S_INSCUST.unit[1]
  88. //dw_1.Object.net_weight[1] = S_INSCUST.net_weight[1]
  89. //dw_1.Object.gross_weight[1] = S_INSCUST.gross_weight[1]
  90. //dw_1.Object.cubage[1] = S_INSCUST.cubage[1]
  91. //dw_1.Object.mtrlengname[1] = S_INSCUST.mtrlengname[1]
  92. //dw_1.Object.dscrp[1] = S_INSCUST.dscrp[1]
  93. end event
  94. event ue_product_ch();Open(w_aifmb_product)
  95. long ll_productid
  96. ll_productid = Message.DoubleParm
  97. IF ll_productid <= 0 THEN RETURN
  98. String ls_nodename
  99. String ls_mtrlcode
  100. String ls_mtrlname
  101. String ls_mtrlmode
  102. long ll_nodeid
  103. string ls_unit
  104. decimal ld_net_weight
  105. decimal ld_gross_weight
  106. decimal ld_cubage
  107. string ls_mtrlengname
  108. string ls_dscrp
  109. string ls_qualitydscrp
  110. SELECT aifmb_ProductCode.mtrlcode,
  111. aifmb_ProductCode.mtrlname,
  112. aifmb_ProductCode.mtrlmode,
  113. aifmb_ProductCode.NodeID,
  114. aifmb_ClassNode.NodeName,
  115. aifmb_ProductCode.unit,
  116. aifmb_ProductCode.net_weight,
  117. aifmb_ProductCode.gross_weight,
  118. aifmb_ProductCode.cubage,
  119. aifmb_ProductCode.mtrlengname,
  120. aifmb_ProductCode.dscrp,
  121. aifmb_ProductCode.qualitydscrp
  122. INTO :ls_mtrlcode,
  123. :ls_mtrlname,
  124. :ls_mtrlmode,
  125. :ll_nodeid,
  126. :ls_nodename,
  127. :ls_unit,
  128. :ld_net_weight,
  129. :ld_gross_weight,
  130. :ld_cubage,
  131. :ls_mtrlengname,
  132. :ls_dscrp,
  133. :ls_qualitydscrp
  134. FROM aifmb_ProductCode LEFT OUTER JOIN
  135. aifmb_ClassNode ON aifmb_ProductCode.NodeID = aifmb_ClassNode.NodeID
  136. Where (aifmb_ProductCode.ProductID = :ll_productid);
  137. IF sqlca.SQLCode <> 0 THEN
  138. MessageBox('ERROR', '查询标准物料信息失败ID=' + String(ll_productid) + ',' + sqlca.SQLErrText)
  139. RETURN
  140. END IF
  141. //dw_1.Object.mtrlid[1] = 0
  142. dw_1.Object.nodeid[1] = ll_nodeid
  143. dw_1.Object.nodename[1] = ls_nodename
  144. dw_1.Object.ProductID[1] = ll_productid
  145. dw_1.Object.procode[1] = ls_mtrlcode
  146. dw_1.Object.proname[1] = ls_mtrlname
  147. dw_1.Object.productname[1] = ls_mtrlname
  148. dw_1.Object.promode[1] = ls_mtrlmode
  149. dw_1.Object.standardcode[1] = ls_mtrlcode
  150. dw_1.Object.prounit[1] = ls_unit
  151. //dw_1.Object.net_weight[1] = ld_net_weight
  152. //dw_1.Object.gross_weight[1] = ld_gross_weight
  153. //dw_1.Object.cubage[1] = ld_cubage
  154. //dw_1.Object.mtrlengname[1] = ls_mtrlengname
  155. //dw_1.Object.dscrp[1] = ls_dscrp
  156. dw_1.Object.quality[1] = ls_qualitydscrp
  157. end event
  158. on w_aifmb_addbuyinfo.create
  159. this.cb_addfj=create cb_addfj
  160. this.cb_picdel=create cb_picdel
  161. this.cb_picaddfile=create cb_picaddfile
  162. this.lv_1=create lv_1
  163. this.cb_cancel=create cb_cancel
  164. this.cb_ok=create cb_ok
  165. this.dw_1=create dw_1
  166. this.Control[]={this.cb_addfj,&
  167. this.cb_picdel,&
  168. this.cb_picaddfile,&
  169. this.lv_1,&
  170. this.cb_cancel,&
  171. this.cb_ok,&
  172. this.dw_1}
  173. end on
  174. on w_aifmb_addbuyinfo.destroy
  175. destroy(this.cb_addfj)
  176. destroy(this.cb_picdel)
  177. destroy(this.cb_picaddfile)
  178. destroy(this.lv_1)
  179. destroy(this.cb_cancel)
  180. destroy(this.cb_ok)
  181. destroy(this.dw_1)
  182. end on
  183. event open;uo_aifmb = create uo_aifmb
  184. s_aifmb_buyinfo s_input
  185. s_input = Message.PowerObjectParm
  186. lv_1.uf_setsize(100, 100)
  187. dw_1.InsertRow(0)
  188. IF IsNull(s_input) Or Not IsValid(s_input) THEN
  189. s_tran.BuyID = 0
  190. dw_1.Object.StartTime[1] = DateTime(Today(), time(0))
  191. dw_1.Object.EndTime[1] = DateTime(RelativeDate(Today(),7), time(0))
  192. dw_1.Object.BuyCode[1] = uo_aifmb.pf_GetBuyCode()
  193. dw_1.Object.CreaterName[1] = uo_aifmb.sf_username()
  194. dw_1.Object.CreaterPhone[1] = uo_aifmb.sf_phone()
  195. dw_1.Object.CreaterEmail[1] = uo_aifmb.sf_email()
  196. dw_1.Object.CreaterQQ[1] = uo_aifmb.sf_QQ()
  197. ELSE
  198. s_tran = s_input
  199. dw_1.Object.BuyID[1] = s_tran.BuyID
  200. dw_1.Object.EntID[1] = s_tran.EntID
  201. dw_1.Object.CreaterID[1] = s_tran.CreaterID
  202. dw_1.Object.CreatTime[1] = s_tran.CreatTime
  203. dw_1.Object.IsAudit[1] = s_tran.IsAudit
  204. dw_1.Object.AuditerID[1] = s_tran.AuditerID
  205. dw_1.Object.AuditTime[1] = s_tran.AuditTime
  206. dw_1.Object.StartTime[1] = s_tran.StartTime
  207. dw_1.Object.EndTime[1] = s_tran.EndTime
  208. dw_1.Object.BuyCode[1] = s_tran.BuyCode
  209. dw_1.Object.BuyName[1] = s_tran.BuyName
  210. dw_1.Object.BuyTitle[1] = s_tran.BuyTitle
  211. dw_1.Object.BuyURL[1] = s_tran.BuyURL
  212. dw_1.Object.BuyRange[1] = s_tran.BuyRange
  213. dw_1.Object.BuyRemark[1] = s_tran.BuyRemark
  214. dw_1.Object.MonthlyUse[1] = s_tran.MonthlyUse
  215. dw_1.Object.DesiredPrice[1] = s_tran.DesiredPrice
  216. dw_1.Object.Quality[1] = s_tran.Quality
  217. dw_1.Object.NodeID[1] = s_tran.NodeID
  218. dw_1.Object.StandardCode[1] = s_tran.StandardCode
  219. dw_1.Object.ProductID[1] = s_tran.ProductID
  220. dw_1.Object.ProCode[1] = s_tran.ProCode
  221. dw_1.Object.ProName[1] = s_tran.ProName
  222. dw_1.Object.ProMode[1] = s_tran.ProMode
  223. dw_1.Object.ProUnit[1] = s_tran.ProUnit
  224. IF s_tran.IsPublic THEN
  225. dw_1.Object.IsPublic[1] = 1
  226. ELSE
  227. dw_1.Object.IsPublic[1] = 0
  228. END IF
  229. dw_1.Object.CreaterName[1] = s_tran.CreaterName
  230. dw_1.Object.CreaterPhone[1] = s_tran.CreaterPhone
  231. dw_1.Object.CreaterEmail[1] = s_tran.CreaterEmail
  232. dw_1.Object.CreaterQQ[1] = s_tran.CreaterQQ
  233. END IF
  234. destroy uo_aifmb
  235. end event
  236. event close;closewithreturn(this, s_tran)
  237. end event
  238. type cb_addfj from commandbutton within w_aifmb_addbuyinfo
  239. integer x = 3301
  240. integer y = 116
  241. integer width = 274
  242. integer height = 104
  243. integer taborder = 40
  244. integer textsize = -9
  245. integer weight = 400
  246. fontcharset fontcharset = gb2312charset!
  247. fontpitch fontpitch = variable!
  248. string facename = "宋体"
  249. string text = "添加附件"
  250. end type
  251. event clicked;Open(w_aifmb_erpfj_ch)
  252. s_aifmb_erpfj_ch s_tran
  253. s_tran = Message.PowerObjectParm
  254. String arg_msg
  255. Long i
  256. FOR i = 1 To UpperBound(s_tran.pics)
  257. IF lv_1.uf_additem(s_tran.pics[i], arg_msg) <> 1 THEN
  258. END IF
  259. NEXT
  260. end event
  261. type cb_picdel from commandbutton within w_aifmb_addbuyinfo
  262. integer x = 3301
  263. integer y = 232
  264. integer width = 274
  265. integer height = 104
  266. integer taborder = 40
  267. integer textsize = -9
  268. integer weight = 400
  269. fontcharset fontcharset = gb2312charset!
  270. fontpitch fontpitch = variable!
  271. string facename = "宋体"
  272. string text = "删除"
  273. end type
  274. event clicked;Long ll_selectedindex
  275. ll_selectedindex = lv_1.SelectedIndex()
  276. DO WHILE ll_selectedindex > 0
  277. lv_1.DeleteItem(ll_selectedindex)
  278. ll_selectedindex = lv_1.SelectedIndex()
  279. LOOP
  280. end event
  281. type cb_picaddfile from commandbutton within w_aifmb_addbuyinfo
  282. integer x = 3301
  283. integer width = 274
  284. integer height = 104
  285. integer taborder = 30
  286. integer textsize = -9
  287. integer weight = 400
  288. fontcharset fontcharset = gb2312charset!
  289. fontpitch fontpitch = variable!
  290. string facename = "宋体"
  291. string text = "添加文件"
  292. end type
  293. event clicked;String ls_path
  294. String arr_files[]
  295. IF GetFileOpenName('上传图片', ls_path, arr_files, 'bmp', '图片 (*.bmp;*.gif;*.jpg;*.jpeg;*.png),*.bmp;*.gif;*.jpg;*.jpeg;*.png') <> 1 THEN
  296. RETURN
  297. END IF
  298. IF UpperBound(arr_files) <= 0 THEN
  299. RETURN
  300. END IF
  301. IF UpperBound(arr_files) = 1 THEN
  302. ls_path = Mid(ls_path, 1, Len(ls_path) - Len(arr_files[1]))
  303. END IF
  304. IF Right(ls_path, 1) <> '\' THEN
  305. ls_path += '\'
  306. END IF
  307. Int rslt = 1
  308. String arg_msg
  309. Long i
  310. s_piclistview_parm s_parm, s_empty
  311. FOR i = 1 To UpperBound(arr_files)
  312. s_parm = s_empty
  313. s_parm.Label = arr_files[i]
  314. s_parm.tmppath = ls_path + arr_files[i]
  315. IF lv_1.uf_additem(s_parm, arg_msg) <> 1 THEN
  316. rslt = 0
  317. GOTO ext
  318. END IF
  319. NEXT
  320. ext:
  321. IF rslt = 0 THEN
  322. MessageBox('ERROR', arg_msg)
  323. END IF
  324. end event
  325. type lv_1 from uo_piclistview within w_aifmb_addbuyinfo
  326. integer x = 1888
  327. integer width = 1399
  328. integer height = 1532
  329. integer taborder = 20
  330. end type
  331. type cb_cancel from commandbutton within w_aifmb_addbuyinfo
  332. integer x = 3191
  333. integer y = 1568
  334. integer width = 210
  335. integer height = 104
  336. integer taborder = 30
  337. integer textsize = -9
  338. integer weight = 400
  339. fontcharset fontcharset = gb2312charset!
  340. fontpitch fontpitch = variable!
  341. string facename = "宋体"
  342. string text = "取消"
  343. end type
  344. event clicked;s_tran.BuyID = 0
  345. close(parent)
  346. end event
  347. type cb_ok from commandbutton within w_aifmb_addbuyinfo
  348. integer x = 2953
  349. integer y = 1568
  350. integer width = 210
  351. integer height = 104
  352. integer taborder = 20
  353. integer textsize = -9
  354. integer weight = 400
  355. fontcharset fontcharset = gb2312charset!
  356. fontpitch fontpitch = variable!
  357. string facename = "宋体"
  358. string text = " 确认"
  359. end type
  360. event clicked;Int rslt = 1
  361. String arg_msg
  362. dw_1.AcceptText()
  363. s_piclistview_parm s_parm[]
  364. IF lv_1.uf_getitems(s_parm, arg_msg) <> 1 THEN
  365. MessageBox('ERROR', arg_msg)
  366. RETURN
  367. END IF
  368. uo_aifmb = Create uo_aifmb
  369. s_aifmb_buyinfo s_modle[]
  370. s_modle[1].BuyID = dw_1.Object.BuyID[1]
  371. s_modle[1].EntID = dw_1.Object.EntID[1]
  372. s_modle[1].CreaterID = dw_1.Object.CreaterID[1]
  373. s_modle[1].CreatTime = dw_1.Object.CreatTime[1]
  374. s_modle[1].IsAudit = dw_1.Object.IsAudit[1]
  375. s_modle[1].AuditerID = dw_1.Object.AuditerID[1]
  376. s_modle[1].AuditTime = dw_1.Object.AuditTime[1]
  377. s_modle[1].StartTime = dw_1.Object.StartTime[1]
  378. s_modle[1].EndTime = dw_1.Object.EndTime[1]
  379. s_modle[1].BuyCode = dw_1.Object.BuyCode[1]
  380. s_modle[1].BuyName = dw_1.Object.BuyName[1]
  381. s_modle[1].BuyTitle = dw_1.Object.BuyTitle[1]
  382. s_modle[1].BuyURL = dw_1.Object.BuyURL[1]
  383. s_modle[1].BuyRange = dw_1.Object.BuyRange[1]
  384. s_modle[1].BuyRemark = dw_1.Object.BuyRemark[1]
  385. s_modle[1].MonthlyUse = dw_1.Object.MonthlyUse[1]
  386. s_modle[1].DesiredPrice = dw_1.Object.DesiredPrice[1]
  387. s_modle[1].Quality = dw_1.Object.Quality[1]
  388. s_modle[1].NodeID = dw_1.Object.NodeID[1]
  389. s_modle[1].StandardCode = dw_1.Object.StandardCode[1]
  390. s_modle[1].ProductID = dw_1.Object.ProductID[1]
  391. s_modle[1].ProCode = dw_1.Object.ProCode[1]
  392. s_modle[1].ProName = dw_1.Object.ProName[1]
  393. s_modle[1].ProMode = dw_1.Object.ProMode[1]
  394. s_modle[1].ProUnit = dw_1.Object.ProUnit[1]
  395. s_modle[1].IsPublic = (dw_1.Object.IsPublic[1] = 1)
  396. s_modle[1].CreaterName = dw_1.Object.CreaterName[1]
  397. s_modle[1].CreaterPhone = dw_1.Object.CreaterPhone[1]
  398. s_modle[1].CreaterEmail = dw_1.Object.CreaterEmail[1]
  399. s_modle[1].CreaterQQ = dw_1.Object.CreaterQQ[1]
  400. s_modle[1].pics = s_parm
  401. IF uo_aifmb.uf_setBuyInfo(s_modle, arg_msg) <> 1 THEN
  402. rslt = 0
  403. GOTO ext
  404. END IF
  405. s_tran = s_modle[1]
  406. ext:
  407. Destroy uo_aifmb
  408. IF rslt = 0 THEN
  409. MessageBox('ERROR', arg_msg)
  410. ELSE
  411. Close(Parent)
  412. END IF
  413. end event
  414. type dw_1 from datawindow within w_aifmb_addbuyinfo
  415. integer width = 1883
  416. integer height = 1532
  417. integer taborder = 10
  418. string title = "none"
  419. string dataobject = "dw_aifmb_addbuyinfo"
  420. boolean livescroll = true
  421. borderstyle borderstyle = stylelowered!
  422. end type
  423. event doubleclicked;Long ll_nodeid
  424. String ls_nodename
  425. string ls_colname
  426. ls_colname = dwo.Name
  427. IF lower(ls_colname) = 'nodename' THEN
  428. Open(w_aifmb_class_map_ch)
  429. ll_nodeid = Message.DoubleParm
  430. IF ll_nodeid > 0 THEN
  431. SELECT NodeName
  432. INTO :ls_nodename
  433. FROM aifmb_ClassNode
  434. Where NodeID = :ll_nodeid;
  435. IF sqlca.SQLCode <> 0 THEN
  436. MessageBox('ERROR', '查询基类名称失败,' + sqlca.SQLErrText)
  437. RETURN
  438. END IF
  439. dw_1.Object.NodeID[1] = ll_nodeid
  440. dw_1.Object.NodeName[1] = ls_nodename
  441. END IF
  442. END IF
  443. end event
  444. event buttonclicked;string ls_colname
  445. ls_colname = dwo.Name
  446. ls_colname = lower(ls_colname)
  447. IF ls_colname = 'b_1' THEN
  448. parent.triggerevent('ue_node_ch')
  449. ELSEIF ls_colname = 'b_2' THEN
  450. parent.triggerevent('ue_product_ch')
  451. ELSEIF ls_colname = 'b_3' THEN
  452. parent.triggerevent('ue_mtrl_ch')
  453. END IF
  454. end event