w_order_ml_spt_change.srw 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. $PBExportHeader$w_order_ml_spt_change.srw
  2. forward
  3. global type w_order_ml_spt_change from w_publ_base
  4. end type
  5. type dw_1 from u_dw_rbtnfilter within w_order_ml_spt_change
  6. end type
  7. type cb_save from uo_imflatbutton within w_order_ml_spt_change
  8. end type
  9. type ln_bar from line within w_order_ml_spt_change
  10. end type
  11. type ln_bar2 from line within w_order_ml_spt_change
  12. end type
  13. type r_bar from rectangle within w_order_ml_spt_change
  14. end type
  15. type cb_help from uo_imflatbutton within w_order_ml_spt_change
  16. end type
  17. type ln_3 from line within w_order_ml_spt_change
  18. end type
  19. type ln_4 from line within w_order_ml_spt_change
  20. end type
  21. end forward
  22. global type w_order_ml_spt_change from w_publ_base
  23. integer width = 3621
  24. integer height = 2460
  25. string title = "修改供应商"
  26. boolean minbox = false
  27. windowtype windowtype = response!
  28. windowstate windowstate = maximized!
  29. event ue_sort_1 ( )
  30. event ue_sort_2 ( )
  31. event ue_help ( )
  32. event ue_f9 ( )
  33. dw_1 dw_1
  34. cb_save cb_save
  35. ln_bar ln_bar
  36. ln_bar2 ln_bar2
  37. r_bar r_bar
  38. cb_help cb_help
  39. ln_3 ln_3
  40. ln_4 ln_4
  41. end type
  42. global w_order_ml_spt_change w_order_ml_spt_change
  43. type variables
  44. Long i_taskid,i_scid
  45. Long i_printid
  46. long i_mtrlid
  47. Long ll_unlock_row
  48. Boolean if_cmpl = TRUE
  49. Decimal i_d_cmplqty_old
  50. Int i_i_plantype_old
  51. Long i_l_scid_old
  52. end variables
  53. event ue_sort_1();IF MessageBox ("IF","是否确定要重新排序已运算的数据,重新排序后可能会影响下级换料,是否继续?",Question!,YesNo! ) = 2 THEN RETURN
  54. dw_1.SetSort('u_orderrqmtrl_tree_ifmainmtrlid ds,u_orderrqmtrl_tree_wrkgrpid as')
  55. dw_1.Sort( )
  56. end event
  57. event ue_sort_2();IF MessageBox ("IF","是否确定要重新排序已运算的数据,重新排序后可能会影响下级换料,是否继续?",Question!,YesNo! ) = 2 THEN RETURN
  58. dw_1.SetSort(' ,u_mtrldef_mtrltype as')
  59. dw_1.Sort( )
  60. end event
  61. event ue_help();Int i
  62. i = htmlhelpA(Handle(THIS), sys_help_chm, 0, THIS.Title+".htm")
  63. end event
  64. event ue_f9();Long uc_row
  65. uc_row = dw_1.GetRow()
  66. IF uc_row = 0 THEN
  67. MessageBox('系统提示','请选定目标行!')
  68. RETURN
  69. END IF
  70. dw_1.AcceptText()
  71. IF Not IsValid(W_spt_edit) THEN
  72. s_edit_index_tran s_ch_tran //传递参数使用
  73. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  74. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  75. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  76. //查询列(物料编码)部分内容,用于初步筛选
  77. s_ch_tran.arg_string_code = ''
  78. OpenWithParm(W_spt_edit,s_ch_tran) //调用
  79. S_spt S_INSCUST
  80. S_INSCUST = Message.PowerObjectParm //接受返回结构
  81. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
  82. dw_1.SetRedraw(False)
  83. dw_1.Object.u_OrderRqMtrl_sptid[uc_row] = S_INSCUST.sptid
  84. dw_1.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode
  85. dw_1.Object.u_spt_name[uc_row] = S_INSCUST.Name
  86. dw_1.SetColumn("u_spt_sptcode")
  87. dw_1.SetRedraw(True)
  88. END IF
  89. END IF
  90. end event
  91. on w_order_ml_spt_change.create
  92. int iCurrent
  93. call super::create
  94. this.dw_1=create dw_1
  95. this.cb_save=create cb_save
  96. this.ln_bar=create ln_bar
  97. this.ln_bar2=create ln_bar2
  98. this.r_bar=create r_bar
  99. this.cb_help=create cb_help
  100. this.ln_3=create ln_3
  101. this.ln_4=create ln_4
  102. iCurrent=UpperBound(this.Control)
  103. this.Control[iCurrent+1]=this.dw_1
  104. this.Control[iCurrent+2]=this.cb_save
  105. this.Control[iCurrent+3]=this.ln_bar
  106. this.Control[iCurrent+4]=this.ln_bar2
  107. this.Control[iCurrent+5]=this.r_bar
  108. this.Control[iCurrent+6]=this.cb_help
  109. this.Control[iCurrent+7]=this.ln_3
  110. this.Control[iCurrent+8]=this.ln_4
  111. end on
  112. on w_order_ml_spt_change.destroy
  113. call super::destroy
  114. destroy(this.dw_1)
  115. destroy(this.cb_save)
  116. destroy(this.ln_bar)
  117. destroy(this.ln_bar2)
  118. destroy(this.r_bar)
  119. destroy(this.cb_help)
  120. destroy(this.ln_3)
  121. destroy(this.ln_4)
  122. end on
  123. event resize;call super::resize;ln_bar.EndX = THIS.Width
  124. ln_bar2.EndX = THIS.Width
  125. r_bar.Width = THIS.Width
  126. ln_3.EndX = THIS.Width
  127. ln_4.EndX = THIS.Width
  128. dw_1.Width = THIS.Width - dw_1.X - 40
  129. dw_1.Height = THIS.Height - dw_1.Y - 150
  130. end event
  131. event open;call super::open;
  132. s_order_ml_mrp s_mrp
  133. s_mrp = Message.PowerObjectParm
  134. i_taskid = s_mrp.taskid
  135. i_scid = s_mrp.scid
  136. i_printid = s_mrp.printid
  137. i_mtrlid = s_mrp.mtrlid
  138. dw_1.SetTransObject(sqlca)
  139. dw_1.Retrieve(i_scid,i_taskid,i_printid)
  140. end event
  141. event ue_before_open;call super::ue_before_open;if_ue_sort = TRUE
  142. end event
  143. event key;call super::key;IF KeyDown(KeyF1!) THEN
  144. THIS.TriggerEvent('ue_help')
  145. end if
  146. end event
  147. type cb_func from w_publ_base`cb_func within w_order_ml_spt_change
  148. boolean visible = false
  149. integer x = 2738
  150. integer width = 165
  151. integer height = 164
  152. boolean enabled = false
  153. end type
  154. type cb_exit from w_publ_base`cb_exit within w_order_ml_spt_change
  155. integer width = 165
  156. integer height = 164
  157. integer picsize = 16
  158. toolbaralignment pic_align = alignattop!
  159. boolean border = false
  160. end type
  161. type dw_1 from u_dw_rbtnfilter within w_order_ml_spt_change
  162. integer y = 192
  163. integer width = 3543
  164. integer height = 1872
  165. integer taborder = 20
  166. boolean bringtotop = true
  167. string dataobject = "dw_order_ml_spt_change_index"
  168. boolean hscrollbar = true
  169. boolean vscrollbar = true
  170. boolean hsplitscroll = true
  171. end type
  172. event rowfocuschanged;call super::rowfocuschanged;
  173. IF currentrow > 0 THEN
  174. THIS.SelectRow(0,FALSE)
  175. THIS.SetRow(currentrow)
  176. THIS.SelectRow(currentrow,TRUE)
  177. END IF
  178. end event
  179. event clicked;call super::clicked;
  180. IF row > 0 THEN
  181. THIS.SelectRow(0,FALSE)
  182. THIS.SetRow(row)
  183. THIS.SelectRow(row,TRUE)
  184. END IF
  185. end event
  186. event doubleclicked;call super::doubleclicked;IF row > 0 THEN
  187. IF dwo.Name = 'u_spt_sptcode' THEN
  188. Parent.TriggerEvent('ue_f9')
  189. END IF
  190. END IF
  191. end event
  192. event rbuttondown;Long ll_row,ll_column
  193. ll_row = THIS.GetRow()
  194. ll_column = THIS.GetColumn()
  195. IF ll_row <= 0 THEN RETURN
  196. IF ll_column <= 0 THEN RETURN
  197. IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
  198. s_calender_arg s_calender
  199. s_calender.PointerX = xpos
  200. s_calender.PointerY = ypos
  201. s_calender.X = THIS.X + PARENT.X
  202. s_calender.Y = THIS.Y + PARENT.Y
  203. OpenWithParm(w_calendar,s_calender)
  204. THIS.SetItem(ll_row,ll_column,id_date_selected)
  205. END IF
  206. end event
  207. event dwnkey;call super::dwnkey;Parent.TriggerEvent('user_key')
  208. //IF Key = KeyDownArrow! THEN RETURN 1
  209. IF dw_1.GetColumnName ( ) = 'u_spt_sptcode' And (Key = KeyEnter! OR Key = KeyDownArrow! OR Key = KeyUpArrow!) THEN
  210. String ls_code,ls_name,ls_find_code
  211. Long ls_sptid
  212. Long cnt = 0
  213. Boolean if_find = False
  214. Long dftbanktypeid
  215. Long dftmoneyid
  216. dw_1.AcceptText()
  217. ls_code = Upper(Trim(dw_1.Object.u_spt_sptcode[dw_1.GetRow()]))
  218. SELECT u_spt.sptid,
  219. u_spt.name,
  220. u_spt.sptcode,
  221. dftbanktypeid,
  222. dftmoneyid
  223. INTO :ls_sptid,:ls_name,:ls_code,:dftbanktypeid,:dftmoneyid
  224. FROM u_spt
  225. Where ( sptcode = :ls_code Or Name = :ls_code );
  226. IF sqlca.SQLCode <> 0 THEN
  227. IF Pos(Trim(ls_code),'%') = 0 THEN
  228. ls_find_code = '%'+ Trim(ls_code) + '%'
  229. ELSE
  230. ls_find_code = Trim(ls_code)
  231. END IF
  232. SELECT count(*) INTO :cnt
  233. FROM u_spt
  234. Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code );
  235. IF sqlca.SQLCode <> 0 THEN
  236. Parent.TriggerEvent('ue_f9')
  237. RETURN 1
  238. END IF
  239. IF cnt <> 1 THEN
  240. Parent.TriggerEvent('ue_f9')
  241. RETURN 1
  242. ELSE
  243. SELECT u_spt.sptid,
  244. u_spt.sptcode,
  245. u_spt.name
  246. INTO :ls_sptid,:ls_code,:ls_name
  247. FROM u_spt
  248. Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code );
  249. IF sqlca.SQLCode <> 0 THEN
  250. Parent.TriggerEvent('ue_f9')
  251. RETURN 1
  252. ELSE
  253. if_find = True
  254. END IF
  255. END IF
  256. ELSE
  257. if_find = True
  258. END IF
  259. IF if_find THEN
  260. dw_1.SetRedraw(False)
  261. dw_1.Object.u_OrderRqMtrl_sptid[dw_1.GetRow()] = ls_sptid
  262. dw_1.Object.u_spt_sptcode[dw_1.GetRow()] = ls_code
  263. dw_1.Object.u_spt_name[dw_1.GetRow()] = ls_name
  264. dw_1.SetRedraw(True)
  265. dw_1.SetColumn("u_spt_sptcode")
  266. RETURN 1
  267. END IF
  268. ELSE
  269. IF Key = KeyEnter! THEN //
  270. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  271. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  272. RETURN 1
  273. END IF
  274. END IF
  275. end event
  276. type cb_save from uo_imflatbutton within w_order_ml_spt_change
  277. integer width = 165
  278. integer height = 164
  279. integer taborder = 30
  280. boolean bringtotop = true
  281. string text = "保存"
  282. string normalpicname = "save.bmp"
  283. integer picsize = 16
  284. toolbaralignment pic_align = alignattop!
  285. boolean border = false
  286. end type
  287. event clicked;call super::clicked;Long ll_i,ch,ch_tree
  288. String arg_msg
  289. s_order_ml_rqmtrl s_mtrl
  290. dw_1.AcceptText()
  291. IF dw_1.RowCount() <= 0 THEN
  292. MessageBox('提示','没有可保存的数据')
  293. RETURN
  294. END IF
  295. FOR ll_i = 1 To dw_1.RowCount()
  296. ch++
  297. s_mtrl.sptid[ch] = dw_1.Object.u_orderrqmtrl_sptid[ll_i]
  298. s_mtrl.scid[ch] = dw_1.Object.u_orderrqmtrl_scid[ll_i]
  299. s_mtrl.taskID[ch] = dw_1.Object.u_orderrqmtrl_taskid[ll_i]
  300. s_mtrl.MtrlID[ch] = dw_1.Object.u_orderrqmtrl_mtrlid[ll_i]
  301. s_mtrl.status[ch] = dw_1.Object.u_orderrqmtrl_status[ll_i]
  302. s_mtrl.woodcode[ch] = dw_1.Object.u_orderrqmtrl_woodcode[ll_i]
  303. s_mtrl.pcode[ch] = dw_1.Object.u_orderrqmtrl_pcode[ll_i]
  304. s_mtrl.plantype[ch] = dw_1.Object.u_orderrqmtrl_plantype[ll_i]
  305. s_mtrl.printid[ch] = dw_1.Object.u_orderrqmtrl_printid[ll_i]
  306. NEXT
  307. uo_order_ml uo_ml_mrp
  308. uo_ml_mrp = Create uo_order_ml
  309. uo_ml_mrp.commit_transaction = sqlca
  310. IF uo_ml_mrp.uof_mod_rqmtrl(s_mtrl,True,arg_msg) = 0 THEN
  311. MessageBox('提示',arg_msg)
  312. RETURN
  313. END IF
  314. Destroy uo_ml_mrp
  315. MessageBox('提示','保存成功')
  316. Close(Parent)
  317. end event
  318. type ln_bar from line within w_order_ml_spt_change
  319. long linecolor = 268435456
  320. integer linethickness = 4
  321. integer beginy = 176
  322. integer endx = 3323
  323. integer endy = 176
  324. end type
  325. type ln_bar2 from line within w_order_ml_spt_change
  326. long linecolor = 16777215
  327. integer linethickness = 4
  328. integer beginy = 180
  329. integer endx = 3323
  330. integer endy = 180
  331. end type
  332. type r_bar from rectangle within w_order_ml_spt_change
  333. long linecolor = 16777215
  334. long fillcolor = 1073741824
  335. integer x = 2473
  336. integer width = 73
  337. integer height = 172
  338. end type
  339. event constructor;this.fillcolor = 14215660
  340. this.linecolor = 14215660
  341. this.x = -1
  342. this.y = -1
  343. this.height = ln_bar2.beginy - 5
  344. end event
  345. type cb_help from uo_imflatbutton within w_order_ml_spt_change
  346. integer x = 165
  347. integer width = 151
  348. integer height = 164
  349. integer taborder = 20
  350. boolean bringtotop = true
  351. string text = "帮助"
  352. string normalpicname = "help.bmp"
  353. integer picsize = 16
  354. toolbaralignment pic_align = alignattop!
  355. boolean border = false
  356. end type
  357. event clicked;call super::clicked;PARENT.TriggerEvent('ue_help')
  358. end event
  359. type ln_3 from line within w_order_ml_spt_change
  360. boolean visible = false
  361. long linecolor = 268435456
  362. integer linethickness = 4
  363. integer beginy = 272
  364. integer endx = 3323
  365. integer endy = 272
  366. end type
  367. type ln_4 from line within w_order_ml_spt_change
  368. boolean visible = false
  369. long linecolor = 16777215
  370. integer linethickness = 4
  371. integer beginy = 276
  372. integer endx = 3323
  373. integer endy = 276
  374. end type