BE_DocClearScriptCache.groovy 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. import com.yinjie.printerAuthorize.common.api.*
  2. import com.yinjie.printerAuthorize.common.api.printersAuthorize.AuthorizationService
  3. import com.yinjie.printerAuthorize.common.api.printersAuthorize.PrinterClientService
  4. import com.yinjie.printerAuthorize.common.datas.ERPModule
  5. import com.yinjie.printerAuthorize.common.datas.ERPModuleEntity
  6. import com.yinjie.printerAuthorize.common.entity.base.BusinessOperation
  7. import com.yinjie.printerAuthorize.common.entity.base.ProcessEntityItem
  8. import com.sweetfish.service.RetResult
  9. import org.apache.logging.log4j.LogManager
  10. import org.apache.logging.log4j.Logger
  11. import javax.annotation.Resource
  12. /**
  13. * Created by jlutt on 2020-08-25
  14. *
  15. * @author jlutt
  16. */
  17. @SuppressWarnings("unused")
  18. class BE_DocClearScriptCache implements BusinessExecutor<ProcessEntityItem<ERPModuleEntity>, ERPModuleEntity> {
  19. protected final Logger logger = LogManager.getLogger(this.getClass().getSimpleName())
  20. @Resource
  21. SystemService systemService
  22. @Resource
  23. DocInfoService docInfoService
  24. @Resource
  25. ConfigService configService
  26. @Resource
  27. LoginService loginService
  28. @Resource
  29. AddressService addressService
  30. @Resource
  31. DataSyncService dataSyncService
  32. @Resource
  33. AuthorizationService authorizationService
  34. @Resource
  35. PrinterClientService printerClientService
  36. @Override
  37. String scriptName() {
  38. return "保存业务脚本清除对象"
  39. }
  40. @Override
  41. ERPModule module() {
  42. return ERPModule.NONE
  43. }
  44. @Override
  45. RetResult<ERPModuleEntity> execute(ProcessEntityItem<ERPModuleEntity> source) {
  46. ERPModule erpModule = source.inputItem.erpModule
  47. logger.info("修改模块" + erpModule.moduleDisplayName + source.inputItem.code)
  48. if ("Init_ExpandoGroovy".equalsIgnoreCase(source.inputItem.code)) {
  49. //Init_ExpandoGroovy每个使用脚本的service都载入了,由于是默认载入的,而且是启动自动载入的,所以不提供清除的方法,而是每个都重载一次
  50. //2024-01-26未测试这个重载能不能不重启给groovy增加扩展方法,需要测试,不过理论上没啥用,因为Init_ExpandoGroovy的脚本是用的其它groovy代码实现的,先这样吧,留着以后处理,暂时不经常修改GroovyExtensions代码算了
  51. systemService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  52. docInfoService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  53. if (configService != null) {
  54. configService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  55. }
  56. if (loginService != null) {
  57. loginService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  58. }
  59. if (addressService != null) {
  60. addressService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  61. }
  62. if (authorizationService != null) {
  63. authorizationService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  64. }
  65. if (printerClientService != null) {
  66. printerClientService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  67. }
  68. if (dataSyncService != null) {
  69. dataSyncService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  70. }
  71. } else {
  72. switch (erpModule) {
  73. case ERPModule.NONE:
  74. break
  75. case ERPModule.SYSTEM:
  76. if (source.operation == BusinessOperation.SAVE) {
  77. systemService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  78. } else {
  79. systemService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  80. }
  81. break
  82. case [ERPModule.DOC, ERPModule.INQUIREINFO]:
  83. if (source.operation == BusinessOperation.SAVE) {
  84. docInfoService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  85. } else {
  86. docInfoService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  87. }
  88. break
  89. case ERPModule.CONFIG:
  90. if (source.operation == BusinessOperation.SAVE) {
  91. configService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  92. } else {
  93. configService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  94. }
  95. break
  96. case ERPModule.LOGIN:
  97. if (source.operation == BusinessOperation.SAVE) {
  98. loginService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  99. } else {
  100. loginService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  101. }
  102. break
  103. case [ERPModule.EXPORT, ERPModule.CHARTS]:
  104. if (source.operation == BusinessOperation.SAVE) {
  105. systemService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  106. } else {
  107. systemService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  108. }
  109. break
  110. case ERPModule.ADDRESSPARSER:
  111. if (source.operation == BusinessOperation.SAVE) {
  112. addressService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  113. } else {
  114. addressService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  115. }
  116. break
  117. case ERPModule.APP:
  118. break
  119. case ERPModule.PRINTERS:
  120. if (source.operation == BusinessOperation.SAVE) {
  121. printerClientService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  122. } else {
  123. printerClientService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  124. }
  125. break
  126. case ERPModule.AUTHORIZATION:
  127. if (source.operation == BusinessOperation.SAVE) {
  128. authorizationService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  129. } else {
  130. authorizationService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  131. }
  132. break
  133. case ERPModule.DATA_SYNC:
  134. if (dataSyncService != null) {
  135. if (source.operation == BusinessOperation.SAVE) {
  136. dataSyncService.invalidateScriptCache(source.supplierCode + "-" + source.inputItem.code)
  137. } else {
  138. dataSyncService.reloadScriptCache(source.inputItem.code, erpModule, source.dataSourceId, source.supplierCode)
  139. }
  140. }
  141. break
  142. default:
  143. break
  144. }
  145. }
  146. return RetResult.success().result(source.inputItem)
  147. }
  148. }