uo_comhelper.sru 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. $PBExportHeader$uo_comhelper.sru
  2. forward
  3. global type uo_comhelper from nonvisualobject
  4. end type
  5. end forward
  6. shared variables
  7. oleobject ComMrpProxy
  8. oleobject sv_FXAppCom // 协同模块使用
  9. oleobject sv_ErpAppCom // 暂时用于ERP成品预测单的异步处理
  10. oleobject sv_P1ClientCom // 后台服务连接
  11. boolean sv_p1Connected = false
  12. boolean sv_p1Inited = false
  13. oleobject sv_DingTalkCom // 钉钉考勤机读数
  14. oleobject sv_RegCom // 注册服务连接
  15. end variables
  16. global type uo_comhelper from nonvisualobject
  17. end type
  18. global uo_comhelper uo_comhelper
  19. forward prototypes
  20. public function oleobject uf_get_erpappcom (ref string arg_msg)
  21. public function oleobject uf_get_p1clientcom (ref string arg_msg)
  22. public function oleobject uf_get_dingtalkcom (ref string arg_msg)
  23. end prototypes
  24. public function oleobject uf_get_erpappcom (ref string arg_msg);arg_msg = ''
  25. IF IsValid(sv_ErpAppCom) THEN
  26. RETURN sv_ErpAppCom
  27. END IF
  28. uo_reghelper lo_helper
  29. Int rslt = 1
  30. lo_helper = Create uo_reghelper
  31. sv_ErpAppCom = Create oleobject
  32. IF lo_helper.ConnectToNewObject("SanrossDll.ErpAppCom", "SanrossDll.dll", Ref sv_ErpAppCom, Ref arg_msg) <> 1 THEN
  33. rslt = 0
  34. GOTO ext
  35. END IF
  36. ext:
  37. Destroy lo_helper
  38. IF rslt = 0 THEN
  39. Destroy sv_ErpAppCom
  40. END IF
  41. RETURN sv_ErpAppCom
  42. end function
  43. public function oleobject uf_get_p1clientcom (ref string arg_msg);arg_msg = ''
  44. IF sv_p1Inited THEN
  45. RETURN sv_P1ClientCom
  46. END IF
  47. uo_reghelper lo_helper
  48. IF Not sv_p1Connected THEN
  49. lo_helper = Create uo_reghelper
  50. sv_P1ClientCom = Create oleobject
  51. IF lo_helper.ConnectToNewObject("SanrossDll.P1ClientCom", "SanrossDll.dll", Ref sv_P1ClientCom, Ref arg_msg) <> 1 THEN
  52. IF arg_msg = '' THEN arg_msg = "ConnectToNewObject[SanrossDll.P1ClientCom]失败"
  53. ELSE
  54. IF arg_msg <> '' THEN arg_msg = ''
  55. END IF
  56. Destroy lo_helper
  57. IF arg_msg = '' THEN
  58. sv_p1Connected = True
  59. ELSE
  60. Destroy sv_P1ClientCom
  61. RETURN sv_P1ClientCom
  62. END IF
  63. END IF
  64. //IF Not sv_p1Inited THEN
  65. // IF sys_oa_ip = '' THEN
  66. // arg_msg = '未开通业务后台服务,本功能不能使用'
  67. // RETURN sv_P1ClientCom
  68. // END IF
  69. //
  70. // IF sys_user_token = '' THEN
  71. // arg_msg = '后台服务未更新,没有用户登录信息,本功能不能使用'
  72. // RETURN sv_P1ClientCom
  73. // END IF
  74. //
  75. // Boolean lb_inited
  76. // lb_inited = sv_P1ClientCom.Init(sys_oa_ip, sys_oa_port, Ref arg_msg)
  77. //
  78. // IF Not lb_inited THEN
  79. // RETURN sv_P1ClientCom
  80. // END IF
  81. //
  82. // sv_p1Inited = True
  83. //END IF
  84. RETURN sv_P1ClientCom
  85. end function
  86. public function oleobject uf_get_dingtalkcom (ref string arg_msg);arg_msg = ''
  87. IF IsValid(sv_DingTalkCom) THEN
  88. RETURN sv_DingTalkCom
  89. END IF
  90. uo_reghelper lo_helper
  91. Int rslt = 1
  92. lo_helper = Create uo_reghelper
  93. sv_DingTalkCom = Create oleobject
  94. IF lo_helper.ConnectToNewObject("SanrossDll.DingTalkCom", "SanrossDll.dll", Ref sv_DingTalkCom, Ref arg_msg) <> 1 THEN
  95. rslt = 0
  96. GOTO ext
  97. END IF
  98. ext:
  99. Destroy lo_helper
  100. IF rslt = 0 THEN
  101. Destroy sv_DingTalkCom
  102. END IF
  103. RETURN sv_DingTalkCom
  104. end function
  105. on uo_comhelper.create
  106. call super::create
  107. TriggerEvent( this, "constructor" )
  108. end on
  109. on uo_comhelper.destroy
  110. TriggerEvent( this, "destructor" )
  111. call super::destroy
  112. end on