uo_ddlb_wrkgrpid.sru 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. $PBExportHeader$uo_ddlb_wrkgrpid.sru
  2. forward
  3. global type uo_ddlb_wrkgrpid from dropdownlistbox
  4. end type
  5. end forward
  6. global type uo_ddlb_wrkgrpid from dropdownlistbox
  7. integer width = 631
  8. integer height = 228
  9. integer taborder = 10
  10. integer textsize = -9
  11. integer weight = 400
  12. fontcharset fontcharset = gb2312charset!
  13. fontpitch fontpitch = variable!
  14. string facename = "宋体"
  15. long textcolor = 33554432
  16. boolean vscrollbar = true
  17. borderstyle borderstyle = stylelowered!
  18. end type
  19. global uo_ddlb_wrkgrpid uo_ddlb_wrkgrpid
  20. type variables
  21. long uo_wrkgrpid
  22. long uo_wrkgrpid_arr[]
  23. long cur_scid = -1
  24. boolean ShowAll = true
  25. end variables
  26. forward prototypes
  27. public function integer uof_set_scid (long arg_scid)
  28. public subroutine uof_constructor ()
  29. end prototypes
  30. public function integer uof_set_scid (long arg_scid);cur_scid = arg_scid
  31. uof_constructor()
  32. return 1
  33. end function
  34. public subroutine uof_constructor ();Long ls_wrkGrpid,ll_wkpid
  35. String ls_wrkGrpName,ls_wrkgrpcode
  36. String ls_wrkGrpName_tmp,ls_wrkgrpcode_tmp
  37. Long cnt = 0
  38. Long ll_i
  39. String ls_space
  40. Int li_spacenum
  41. String ls_ddlbtext
  42. this.reset()
  43. FOR ll_i = 1 To UpperBound(sys_user_wkps)
  44. ll_wkpid = sys_user_wkps[ll_i]
  45. SELECT u_sc_wkp.wrkGrpName,
  46. u_sc_wkp.wrkgrpcode
  47. INTO :ls_wrkGrpName_tmp,
  48. :ls_wrkgrpcode_tmp
  49. FROM u_sc_wkp
  50. WHERE u_sc_wkp.inuse = 1
  51. And u_sc_wkp.wrkGrpid = :ll_wkpid
  52. And (u_sc_wkp.scid = :cur_scid or :cur_scid = -1);
  53. // IF sqlca.SQLCode <> 0 Or IsNull(ls_wrkGrpName) THEN ls_wrkGrpName = ''
  54. // IF sqlca.SQLCode <> 0 Or IsNull(ls_wrkgrpcode) THEN ls_wrkgrpcode = ''
  55. IF sqlca.SQLCode <> 0 THEN CONTINUE
  56. ls_wrkGrpName = ls_wrkGrpName_tmp
  57. ls_wrkgrpcode = ls_wrkgrpcode_tmp
  58. ls_ddlbtext = f_scode_name(ll_wkpid,ls_wrkgrpcode,ls_wrkGrpName)
  59. This.AddItem (ls_ddlbtext)
  60. ls_wrkGrpid = ll_wkpid
  61. NEXT
  62. This.uo_wrkgrpid = ls_wrkGrpid
  63. This.uo_wrkgrpid_arr[1] = ls_wrkGrpid
  64. This.Text = ls_wrkGrpName+ls_space+'['+String(ls_wrkGrpid)+']'
  65. if ShowAll then
  66. SELECT count(*)
  67. INTO :cnt
  68. FROM u_sc_wkp
  69. Where u_sc_wkp.inuse = 1 ;
  70. IF cnt > 1 THEN
  71. This.AddItem ('[全部车间]')
  72. This.uo_wrkgrpid = -1
  73. This.uo_wrkgrpid_arr = sys_user_wkps
  74. This.Text = '[全部车间]'
  75. END IF
  76. end if
  77. end subroutine
  78. event constructor;uof_constructor()
  79. //Long ls_wrkGrpid,ll_wkpid
  80. //String ls_wrkGrpName,ls_wrkgrpcode
  81. //String ls_wrkGrpName_tmp,ls_wrkgrpcode_tmp
  82. //Long cnt = 0
  83. //Long ll_i
  84. //String ls_space
  85. //Int li_spacenum
  86. //String ls_ddlbtext
  87. //
  88. //FOR ll_i = 1 To UpperBound(sys_user_wkps)
  89. // ll_wkpid = sys_user_wkps[ll_i]
  90. // SELECT u_sc_wkp.wrkGrpName,
  91. // u_sc_wkp.wrkgrpcode
  92. // INTO :ls_wrkGrpName_tmp,
  93. // :ls_wrkgrpcode_tmp
  94. // FROM u_sc_wkp
  95. // WHERE u_sc_wkp.inuse = 1
  96. // And u_sc_wkp.wrkGrpid = :ll_wkpid;
  97. // // IF sqlca.SQLCode <> 0 Or IsNull(ls_wrkGrpName) THEN ls_wrkGrpName = ''
  98. // // IF sqlca.SQLCode <> 0 Or IsNull(ls_wrkgrpcode) THEN ls_wrkgrpcode = ''
  99. // IF sqlca.SQLCode <> 0 THEN CONTINUE
  100. //
  101. // ls_wrkGrpName = ls_wrkGrpName_tmp
  102. // ls_wrkgrpcode = ls_wrkgrpcode_tmp
  103. // ls_ddlbtext = f_scode_name(ll_wkpid,ls_wrkgrpcode,ls_wrkGrpName)
  104. //
  105. // This.AddItem (ls_ddlbtext)
  106. // ls_wrkGrpid = ll_wkpid
  107. //NEXT
  108. //
  109. //
  110. //This.uo_wrkgrpid = ls_wrkGrpid
  111. //This.uo_wrkgrpid_arr[1] = ls_wrkGrpid
  112. //This.Text = ls_wrkGrpName+ls_space+'['+String(ls_wrkGrpid)+']'
  113. //
  114. //SELECT count(*)
  115. // INTO :cnt
  116. // FROM u_sc_wkp
  117. // Where u_sc_wkp.inuse = 1 ;
  118. //IF cnt > 1 THEN
  119. // This.AddItem ('[全部车间]')
  120. // This.uo_wrkgrpid = -1
  121. // This.uo_wrkgrpid_arr = sys_user_wkps
  122. // This.Text = '[全部车间]'
  123. //END IF
  124. //
  125. end event
  126. event selectionchanged;Long ll_wrkgrpid_arr[]
  127. IF THIS.Text = '[全部车间]' THEN
  128. uo_wrkgrpid = -1
  129. ll_wrkgrpid_arr = sys_user_wkps
  130. uo_wrkgrpid_arr = ll_wrkgrpid_arr
  131. ELSE
  132. uo_wrkgrpid = Long(Mid ( THIS.Text,Pos(THIS.Text,'[') + 1,Len(THIS.Text) - Pos(THIS.Text,'[') - 1 ))
  133. ll_wrkgrpid_arr[1] = uo_wrkgrpid
  134. uo_wrkgrpid_arr = ll_wrkgrpid_arr
  135. END IF
  136. end event
  137. on uo_ddlb_wrkgrpid.create
  138. end on
  139. on uo_ddlb_wrkgrpid.destroy
  140. end on