Init_20_HeatingApp.groovy 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import Ignore_ExecPageFlipper as ExecPageFlipper
  2. import com.yinjie.heating.business.dao.HeatingDocDao
  3. import com.yinjie.heating.common.api.NoSqlKeysService
  4. import com.yinjie.heating.common.datas.RedisKeys
  5. import com.yinjie.heating.common.entity.heating.HeatingApp
  6. import com.yinjie.heating.common.entity.heating.HeatingAppInvoker
  7. import com.yinjie.heating.common.tool.ERPUtils
  8. import com.dySweetFishPlugin.redis.RedisService
  9. import com.sweetfish.convert.json.JsonConvert
  10. import com.sweetfish.source.PageFlipper
  11. import org.rex.RMap
  12. static def createRunnable(RedisService redisService, NoSqlKeysService keysService, HeatingDocDao heatingDocDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode) {
  13. return {
  14. redisService.del(keysService.getRedisKey(RedisKeys.KEY_HEATING_APP, supplierCode))
  15. RMap dictTypeParams = ERPUtils.ofRMap("voidFlag", -1)
  16. ExecPageFlipper.execute(500, { PageFlipper p ->
  17. List<HeatingApp> heatingApps = heatingDocDao.selectAllHeatingApp(dictTypeParams, dataSourceId, supplierCode, p)
  18. List<Long> ids = heatingApps.collect { it.id }
  19. RMap params = new RMap<>()
  20. params.put("ids", ids)
  21. List<HeatingAppInvoker> invokerList = heatingDocDao.selectAllHeatingAppInvoker(params, dataSourceId, supplierCode)
  22. heatingApps.each {
  23. it.invokerList.addAll(invokerList.findAll { x -> x.idApp == it.id })
  24. }
  25. Map<String, String> heatingAppMap = heatingApps.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] }
  26. if (!heatingAppMap.isEmpty()) {
  27. redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_HEATING_APP, supplierCode), heatingAppMap)
  28. }
  29. })
  30. } as Runnable
  31. }
  32. //groovy最后一个表达式的值为返回
  33. createRunnable(redisService, keysService, heatingDocDao, jsonConvert, dataSourceId, supplierCode)