w_brief_edit.srw 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. $PBExportHeader$w_brief_edit.srw
  2. forward
  3. global type w_brief_edit from w_publ_base
  4. end type
  5. type dw_brief from datawindow within w_brief_edit
  6. end type
  7. type cb_ok from uo_imflatbutton within w_brief_edit
  8. end type
  9. type cb_add from uo_imflatbutton within w_brief_edit
  10. end type
  11. end forward
  12. global type w_brief_edit from w_publ_base
  13. integer width = 2194
  14. integer height = 888
  15. string title = "摘要- 编辑"
  16. boolean minbox = false
  17. windowtype windowtype = response!
  18. long backcolor = 80269524
  19. dw_brief dw_brief
  20. cb_ok cb_ok
  21. cb_add cb_add
  22. end type
  23. global w_brief_edit w_brief_edit
  24. type variables
  25. s_brief s_brief_edit
  26. end variables
  27. on w_brief_edit.create
  28. int iCurrent
  29. call super::create
  30. this.dw_brief=create dw_brief
  31. this.cb_ok=create cb_ok
  32. this.cb_add=create cb_add
  33. iCurrent=UpperBound(this.Control)
  34. this.Control[iCurrent+1]=this.dw_brief
  35. this.Control[iCurrent+2]=this.cb_ok
  36. this.Control[iCurrent+3]=this.cb_add
  37. end on
  38. on w_brief_edit.destroy
  39. call super::destroy
  40. destroy(this.dw_brief)
  41. destroy(this.cb_ok)
  42. destroy(this.cb_add)
  43. end on
  44. event open;call super::open;dw_brief.SetTransObject(sqlca)
  45. datawindowchild childdw
  46. String new_sqlstr,modify_str
  47. childdw.SetTransObject (sqlca)
  48. new_sqlstr = childdw.Describe("DataWindow.Table.Select")
  49. new_sqlstr = new_sqlstr+' and accsetid=' + String(sys_accsetid)
  50. modify_str = "DataWindow.Table.Select='" + new_sqlstr +"'"
  51. childdw.Modify ( modify_str )
  52. childdw.Retrieve()
  53. datawindowchild childdw_subid
  54. dw_brief.getchild("dftsubid",childdw_subid)
  55. childdw_subid.SetTransObject (sqlca)
  56. ddd_subid_display_detail.sharedata(childdw_subid)
  57. s_brief_edit = Message.PowerObjectParm
  58. Long li_row
  59. IF s_brief_edit.edittype = 1 THEN
  60. li_row = dw_brief.InsertRow(0)
  61. dw_brief.Object.brieftypeid[li_row] = s_brief_edit.brieftypeid
  62. ELSEIF s_brief_edit.edittype = 2 THEN
  63. dw_brief.Retrieve(sys_accsetid,s_brief_edit.briefid)
  64. END IF
  65. end event
  66. type cb_func from w_publ_base`cb_func within w_brief_edit
  67. integer x = 1198
  68. integer y = 148
  69. end type
  70. type cb_exit from w_publ_base`cb_exit within w_brief_edit
  71. integer x = 1239
  72. integer y = 644
  73. string text = "取消"
  74. end type
  75. type dw_brief from datawindow within w_brief_edit
  76. integer x = 123
  77. integer y = 32
  78. integer width = 1975
  79. integer height = 580
  80. integer taborder = 20
  81. boolean bringtotop = true
  82. string dataobject = "dw_brief_edit"
  83. boolean border = false
  84. boolean livescroll = true
  85. end type
  86. event buttonclicked;Long child_row
  87. s_subject s_rt_subject
  88. IF dwo.Name = 'b_subid' THEN
  89. dw_brief.AcceptText()
  90. child_row = dw_brief.GetRow()
  91. IF child_row <= 0 THEN
  92. MessageBox('系统提示','请选定当前目标摘要!')
  93. RETURN
  94. END IF
  95. IF NOT IsValid(w_subjectdef_edit) THEN OpenWithParm(w_subjectdef_edit,0)
  96. s_rt_subject = Message.PowerObjectParm
  97. IF s_rt_subject.subid = '' THEN RETURN
  98. dw_brief.Object.dftsubid[child_row] = s_rt_subject.subid
  99. END IF
  100. end event
  101. type cb_ok from uo_imflatbutton within w_brief_edit
  102. integer x = 891
  103. integer y = 644
  104. integer width = 311
  105. integer height = 96
  106. integer taborder = 30
  107. boolean bringtotop = true
  108. string normalpicname = "ok.bmp"
  109. end type
  110. event clicked;Long li_row,ls_briefid,ls_brieftypeid
  111. String ls_briefname,ls_briefcode,ls_dftsubid
  112. dw_brief.AcceptText()
  113. IF s_brief_edit.edittype = 1 THEN
  114. cb_add.TriggerEvent(Clicked!)
  115. ELSEIF s_brief_edit.edittype = 2 THEN
  116. li_row = dw_brief.GetRow()
  117. IF li_row <= 0 THEN
  118. MessageBox(publ_operator,'没有修改对象')
  119. RETURN
  120. END IF
  121. ls_briefid = dw_brief.Object.briefid[li_row]
  122. ls_brieftypeid = dw_brief.Object.brieftypeid[li_row]
  123. ls_briefname = dw_brief.Object.briefname[li_row]
  124. ls_briefcode = dw_brief.Object.briefcode[li_row]
  125. ls_dftsubid = dw_brief.Object.dftsubid[li_row]
  126. IF ls_brieftypeid = 0 THEN
  127. MessageBox(publ_operator,'请选择摘要类别')
  128. RETURN
  129. END IF
  130. UPDATE cw_brief
  131. SET brieftypeid = :ls_brieftypeid,
  132. briefname = :ls_briefname,
  133. briefcode = :ls_briefcode,
  134. dftsubid = :ls_dftsubid
  135. WHERE accsetid = :sys_accsetid
  136. AND briefid = :ls_briefid;
  137. IF sqlca.SQLCode <> 0 THEN
  138. ROLLBACK;
  139. MessageBox(publ_operator,'修改摘要类别"'+ls_briefname+'"失败,可能是名称已经存在或网络故障!')
  140. RETURN
  141. END IF
  142. COMMIT;
  143. END IF
  144. Close(PARENT)
  145. end event
  146. type cb_add from uo_imflatbutton within w_brief_edit
  147. integer x = 544
  148. integer y = 644
  149. integer width = 311
  150. integer height = 96
  151. integer taborder = 20
  152. boolean bringtotop = true
  153. string text = "增加"
  154. string normalpicname = "new.bmp"
  155. end type
  156. event clicked;Long li_row,ls_newid,ls_brieftypeid
  157. String ls_briefname,ls_briefcode,errmsg,ls_dftsubid
  158. dw_brief.AcceptText()
  159. li_row = dw_brief.GetRow()
  160. IF li_row <= 0 THEN
  161. MessageBox(publ_operator,'没有增加对象')
  162. RETURN
  163. END IF
  164. ls_newid = f_sys_scidentity(sys_accsetid,"cw_brief","briefid",errmsg,TRUE,id_sqlca)
  165. IF ls_newid < 0 THEN
  166. MessageBox(publ_operator,errmsg)
  167. ROLLBACK;
  168. END IF
  169. ls_brieftypeid = dw_brief.Object.brieftypeid[li_row]
  170. ls_briefname = dw_brief.Object.briefname[li_row]
  171. ls_briefcode = dw_brief.Object.briefcode[li_row]
  172. ls_dftsubid = dw_brief.Object.dftsubid[li_row]
  173. IF ls_brieftypeid < 0 THEN
  174. MessageBox(publ_operator,'请选择摘要类别')
  175. RETURN
  176. END IF
  177. INSERT INTO cw_brief(accsetid,briefid,brieftypeid,briefname,briefcode,dftsubid )
  178. Values (:sys_accsetid,:ls_newid,:ls_brieftypeid,:ls_briefname,:ls_briefcode,:ls_dftsubid ) ;
  179. IF sqlca.SQLCode <> 0 THEN
  180. ROLLBACK;
  181. MessageBox(publ_operator,'新建摘要类别"'+ls_briefname+'"失败,可能是名称已经存在或网络故障!')
  182. RETURN
  183. END IF
  184. COMMIT;
  185. dw_brief.Object.briefname[li_row] = ''
  186. dw_brief.Object.briefcode[li_row] = ''
  187. IF IsValid(w_briefdef_edit) THEN
  188. w_briefdef_edit.TriggerEvent("retrieve_childdw")
  189. END IF
  190. end event