uo_comhelper.sru 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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. //oleobject sv_DingTalkCom // 钉钉考勤机读数
  12. oleobject sv_RegCom // 注册后台服务连接
  13. oleobject sv_YunRegCom // 云注册后台服务连接
  14. end variables
  15. global type uo_comhelper from nonvisualobject
  16. end type
  17. global uo_comhelper uo_comhelper
  18. forward prototypes
  19. public subroutine uf_regalldll (ref string arg_msg)
  20. public function oleobject uf_get_regcom (ref string arg_msg)
  21. public function oleobject uf_get_yunregcom (ref string arg_msg)
  22. end prototypes
  23. public subroutine uf_regalldll (ref string arg_msg);Int rslt = 1
  24. datastore ds_objs
  25. ds_objs = Create datastore
  26. uo_reghelper lo_helper
  27. lo_helper = Create uo_reghelper
  28. arg_msg = ''
  29. IF Not lo_helper.pf_isadmin() THEN
  30. GOTO ext
  31. END IF
  32. ds_objs.DataObject = 'ds_commap'
  33. Long i
  34. String ls_msg
  35. FOR i = 1 To ds_objs.RowCount()
  36. ls_msg = ''
  37. IF lo_helper.tryreg(ds_objs.Object.objname[i], ds_objs.Object.dllname[i], Ref ls_msg, False) <> 1 THEN
  38. IF arg_msg <> '' THEN
  39. arg_msg += '~r~n'
  40. END IF
  41. arg_msg += '['+ds_objs.Object.objname[i]+']['+ds_objs.Object.dllname[i]+']'+ls_msg
  42. END IF
  43. NEXT
  44. ext:
  45. Destroy ds_objs
  46. Destroy lo_helper
  47. end subroutine
  48. public function oleobject uf_get_regcom (ref string arg_msg);arg_msg = ''
  49. IF IsValid(sv_RegCom) THEN
  50. RETURN sv_RegCom
  51. END IF
  52. Int rslt = 1
  53. IF sys_reg_port = 0 THEN
  54. arg_msg = "此版本的注册后台服务不支持此功能"
  55. rslt = 0
  56. GOTO ext
  57. END IF
  58. uo_reghelper lo_helper
  59. lo_helper = Create uo_reghelper
  60. sv_RegCom = Create oleobject
  61. IF lo_helper.ConnectToNewObject("SanrossDll.P1ClientCom", "SanrossDll.dll", Ref sv_RegCom, Ref arg_msg) <> 1 THEN
  62. rslt = 0
  63. GOTO ext
  64. END IF
  65. Boolean lb_inited
  66. lb_inited = sv_RegCom.Init(sys_reg_ip, sys_reg_port, Ref arg_msg)
  67. IF Not lb_inited THEN
  68. rslt = 0
  69. GOTO ext
  70. END IF
  71. ext:
  72. Destroy lo_helper
  73. IF rslt = 0 THEN
  74. Destroy sv_RegCom
  75. END IF
  76. RETURN sv_RegCom
  77. end function
  78. public function oleobject uf_get_yunregcom (ref string arg_msg);arg_msg = ''
  79. IF IsValid(sv_YunRegCom) THEN
  80. RETURN sv_YunRegCom
  81. END IF
  82. Int rslt = 1
  83. IF sys_yunreg_port = 0 THEN
  84. arg_msg = "获取云注册服务连接信息失败"
  85. rslt = 0
  86. GOTO ext
  87. END IF
  88. uo_reghelper lo_helper
  89. lo_helper = Create uo_reghelper
  90. sv_YunRegCom = Create oleobject
  91. IF lo_helper.ConnectToNewObject("SanrossDll.P1ClientCom", "SanrossDll.dll", Ref sv_YunRegCom, Ref arg_msg) <> 1 THEN
  92. rslt = 0
  93. GOTO ext
  94. END IF
  95. Boolean lb_inited
  96. lb_inited = sv_YunRegCom.Init(sys_yunreg_ip, sys_yunreg_port, Ref arg_msg)
  97. IF Not lb_inited THEN
  98. rslt = 0
  99. GOTO ext
  100. END IF
  101. ext:
  102. Destroy lo_helper
  103. IF rslt = 0 THEN
  104. Destroy sv_YunRegCom
  105. END IF
  106. RETURN sv_YunRegCom
  107. end function
  108. on uo_comhelper.create
  109. call super::create
  110. TriggerEvent( this, "constructor" )
  111. end on
  112. on uo_comhelper.destroy
  113. TriggerEvent( this, "destructor" )
  114. call super::destroy
  115. end on