Init_8_Dict.groovy 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import Ignore_ExecPageFlipper as ExecPageFlipper
  2. import com.yinjie.heating.business.dao.SystemDao
  3. import com.yinjie.heating.common.api.NoSqlKeysService
  4. import com.yinjie.heating.common.datas.RedisKeys
  5. import com.yinjie.heating.common.entity.system.DictData
  6. import com.yinjie.heating.common.entity.system.DictType
  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, SystemDao systemDao, JsonConvert jsonConvert, String dataSourceId, long supplierCode) {
  13. return {
  14. redisService.del(keysService.getRedisKey(RedisKeys.KEY_ERPDICTTYPE, supplierCode))
  15. RMap dictTypeParams = ERPUtils.ofRMap("voidFlag", -1)
  16. ExecPageFlipper.execute(500, { PageFlipper p ->
  17. List<DictType> dictTypeList = systemDao.queryDictTypes(dictTypeParams, dataSourceId, supplierCode, p)
  18. Map<String, String> dictTypeMap = dictTypeList.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] }
  19. if (!dictTypeMap.isEmpty()) {
  20. redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_ERPDICTTYPE, supplierCode), dictTypeMap)
  21. }
  22. dictTypeList.each { x ->
  23. RMap dictParams = ERPUtils.ofRMap("idType", x.getId(), "voidFlag", -1)
  24. redisService.del(keysService.getRedisKey(RedisKeys.KEY_ERPDICTDATA, supplierCode, true) + x.getId())
  25. ExecPageFlipper.execute(500, { PageFlipper p1 ->
  26. List<DictData> dictDataList = systemDao.queryDictDatas(dictParams, dataSourceId, supplierCode, p1)
  27. Map<String, String> dictDataMap = dictDataList.collectEntries { [String.valueOf(it.getId()), jsonConvert.convertTo(it)] }
  28. if (!dictDataMap.isEmpty()) {
  29. redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_ERPDICTDATA, supplierCode, true) + x.getId(), dictDataMap)
  30. }
  31. })
  32. }
  33. })
  34. } as Runnable
  35. }
  36. //groovy最后一个表达式的值为返回
  37. createRunnable(redisService, keysService, systemDao, jsonConvert, dataSourceId, supplierCode)