w_packet_mtrl_receive_ch.srw 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. $PBExportHeader$w_packet_mtrl_receive_ch.srw
  2. forward
  3. global type w_packet_mtrl_receive_ch from w_publ_choice
  4. end type
  5. end forward
  6. global type w_packet_mtrl_receive_ch from w_publ_choice
  7. integer width = 3611
  8. integer height = 2080
  9. string title = "资料推送记录选择"
  10. end type
  11. global w_packet_mtrl_receive_ch w_packet_mtrl_receive_ch
  12. type variables
  13. s_packet_ljfieb INS_RT_STRU
  14. Transaction tr_eb_sqlca
  15. end variables
  16. on w_packet_mtrl_receive_ch.create
  17. call super::create
  18. end on
  19. on w_packet_mtrl_receive_ch.destroy
  20. call super::destroy
  21. end on
  22. event open;tr_eb_sqlca = sys_email_sqlca // 电子商务连接
  23. this.triggerevent('ue_before_open')
  24. wf_movetocenter()
  25. if_ue_sort=true
  26. dw_CH.SetTransObject (tr_eb_sqlca) //
  27. cb_retrieve.TRIGGEREVENT(CLICKED!)
  28. end event
  29. event close;call super::close;CLOSEWITHRETURN(THIS,INS_RT_STRU)
  30. end event
  31. type cb_func from w_publ_choice`cb_func within w_packet_mtrl_receive_ch
  32. end type
  33. type cb_exit from w_publ_choice`cb_exit within w_packet_mtrl_receive_ch
  34. end type
  35. event cb_exit::clicked;INS_RT_STRU.sptid = 0
  36. close(parent)
  37. end event
  38. type sle_ch from w_publ_choice`sle_ch within w_packet_mtrl_receive_ch
  39. boolean visible = false
  40. end type
  41. type dw_ch from w_publ_choice`dw_ch within w_packet_mtrl_receive_ch
  42. integer y = 176
  43. integer width = 3589
  44. integer height = 1808
  45. string dataobject = "dw_packet_mtrl_receive_ch"
  46. end type
  47. type st_1 from w_publ_choice`st_1 within w_packet_mtrl_receive_ch
  48. boolean visible = false
  49. end type
  50. type cb_retrieve from w_publ_choice`cb_retrieve within w_packet_mtrl_receive_ch
  51. end type
  52. event cb_retrieve::clicked;Long ll_CusCommID
  53. Long ll_sendcuscommid
  54. Long ll_i
  55. String ls_cuscode,ls_sccode
  56. String ls_sptcode,ls_sptname
  57. Long ll_sptid
  58. SELECT CusCommID
  59. INTO :ll_CusCommID
  60. FROM LJFIEB_CusComm
  61. Where CusType = 0 Using tr_eb_sqlca;
  62. IF tr_eb_sqlca.SQLCode <> 0 THEN
  63. dw_ch.Reset()
  64. MessageBox('Error','查询本公司企业编号失败,请先设置,'+tr_eb_sqlca.SQLErrText)
  65. RETURN
  66. END IF
  67. dw_ch.SetRedraw(False)
  68. dw_ch.Retrieve(ll_CusCommID)
  69. //查询本地数据库得到对应企业信息
  70. dw_ch.AcceptText()
  71. FOR ll_i = 1 To dw_ch.RowCount()
  72. ll_sendcuscommid = dw_ch.Object.sendcuscommid[ll_i]
  73. ls_sccode = dw_ch.Object.sendsccode[ll_i]
  74. SELECT CusCode
  75. INTO :ls_cuscode
  76. FROM LJFIEB_CusComm
  77. Where CusCommID = :ll_sendcuscommid Using tr_eb_sqlca;
  78. IF tr_eb_sqlca.SQLCode <> 0 THEN
  79. ls_cuscode = ''
  80. END IF
  81. IF Trim(ls_cuscode) <> '' THEN
  82. SELECT sptid, name, sptcode
  83. INTO :ll_sptid,:ls_sptname,:ls_sptcode
  84. FROM u_spt
  85. WHERE commcode = :ls_cuscode
  86. And commsccode = :ls_sccode;
  87. IF sqlca.SQLCode <> 0 THEN
  88. ll_sptid = 0
  89. ls_sptname = ''
  90. ls_sptcode = ''
  91. END IF
  92. ELSE
  93. ll_sptid = 0
  94. ls_sptname = ''
  95. ls_sptcode = ''
  96. END IF
  97. dw_ch.Object.sptid[ll_i] = ll_sptid
  98. dw_ch.Object.sptcode[ll_i] = ls_sptcode
  99. dw_ch.Object.sptname[ll_i] = ls_sptname
  100. dw_ch.Object.cuscode[ll_i] = ls_cuscode
  101. NEXT
  102. dw_ch.SetRedraw(true)
  103. end event
  104. type cb_choice from w_publ_choice`cb_choice within w_packet_mtrl_receive_ch
  105. end type
  106. event cb_choice::clicked;call super::clicked;dw_ch.AcceptText()
  107. String ls_sn
  108. Long LS_ROW
  109. Long ll_sendcuscommid
  110. LS_ROW = dw_ch.GetRow()
  111. IF LS_ROW <= 0 THEN
  112. MessageBox('系统提示','请先选择目标行!',StopSign!)
  113. RETURN
  114. END IF
  115. ll_sendcuscommid = dw_ch.Object.sendcuscommid[LS_ROW]
  116. SELECT top 1 SerialNum
  117. INTO :ls_sn
  118. FROM LJFIEB_packet
  119. WHERE BillType = 9
  120. AND status = 5
  121. AND Complete = 0
  122. AND sendcuscommid = :ll_sendcuscommid
  123. Order By AddTime Using sys_email_sqlca;
  124. IF sys_email_sqlca.SQLCode <> 0 THEN
  125. MessageBox('Error','查询最早待处理的同步数据失败,'+sys_email_sqlca.SQLErrText)
  126. RETURN
  127. END IF
  128. IF ls_sn <> dw_ch.Object.SerialNum[LS_ROW] THEN
  129. LS_ROW = dw_ch.Find('serialnum = "'+ls_sn+'"',1,dw_ch.RowCount())
  130. IF LS_ROW = 0 THEN
  131. messagebox('Error','查找最早同步数据失败')
  132. RETURN
  133. end if
  134. MessageBox('系统提示','同一供应商资料同步严格按照推送时间顺序,当前选中的资料不是最早,将自动转到最早的资料作同步')
  135. END IF
  136. IF dw_ch.Object.sptid[LS_ROW] = 0 THEN
  137. MessageBox('系统提示','当前选中记录中的发送企业不明确,请先设置!',StopSign!)
  138. RETURN
  139. END IF
  140. INS_RT_STRU.sendcuscommid = dw_ch.Object.sendcuscommid[LS_ROW]
  141. INS_RT_STRU.sendsccode = dw_ch.Object.sendsccode[LS_ROW]
  142. INS_RT_STRU.adduser = dw_ch.Object.adduser[LS_ROW]
  143. INS_RT_STRU.AddTime = dw_ch.Object.AddTime[LS_ROW]
  144. INS_RT_STRU.postscript = dw_ch.Object.postscript[LS_ROW]
  145. INS_RT_STRU.remark = dw_ch.Object.remark[LS_ROW]
  146. INS_RT_STRU.SerialNum = dw_ch.Object.SerialNum[LS_ROW]
  147. INS_RT_STRU.tablename = dw_ch.Object.tablename[LS_ROW]
  148. INS_RT_STRU.sptcode = dw_ch.Object.sptcode[LS_ROW]
  149. INS_RT_STRU.sptname = dw_ch.Object.sptname[LS_ROW]
  150. INS_RT_STRU.sptid = dw_ch.Object.sptid[LS_ROW]
  151. INS_RT_STRU.cuscode = dw_ch.Object.cuscode[LS_ROW]
  152. Close(Parent)
  153. end event
  154. type ln_bar from w_publ_choice`ln_bar within w_packet_mtrl_receive_ch
  155. end type
  156. type ln_bar2 from w_publ_choice`ln_bar2 within w_packet_mtrl_receive_ch
  157. end type
  158. type r_bar from w_publ_choice`r_bar within w_packet_mtrl_receive_ch
  159. end type
  160. type ln_1 from w_publ_choice`ln_1 within w_packet_mtrl_receive_ch
  161. boolean visible = false
  162. end type
  163. type ln_2 from w_publ_choice`ln_2 within w_packet_mtrl_receive_ch
  164. boolean visible = false
  165. end type